JavaScript オブジェクト 新しいページはコチラ
提供: yonewiki
(→宣言) |
(→宣言) |
||
42行: | 42行: | ||
このようにObjectには空のObjectでも何かしらの構造を保持していることがわかりましたが、__proto__というイマイチよく理解できないような複雑なプロパティをもっていることもわかってしまいました。この__proto__やprototypeのようなプロパティの仕組みを詳細に解説しようとするとかなり長くなってしまいますが、この複雑さの理解を助けるような記事にするべく、引き続きオブジェクトについての記事を記述していきたいと思います。 | このようにObjectには空のObjectでも何かしらの構造を保持していることがわかりましたが、__proto__というイマイチよく理解できないような複雑なプロパティをもっていることもわかってしまいました。この__proto__やprototypeのようなプロパティの仕組みを詳細に解説しようとするとかなり長くなってしまいますが、この複雑さの理解を助けるような記事にするべく、引き続きオブジェクトについての記事を記述していきたいと思います。 | ||
+ | == 宣言 == | ||
+ | *objName1.constructor | ||
+ | :上記のようなプロパティを記述することでobjName1の生成元が返されます。ようするにサンプルのとおりになります。先のサンプルに☆☆☆マークで明記した部分が追加した処理になります。 | ||
+ | |||
+ | |||
+ | |||
+ | サンプル | ||
+ | <syntaxhighlight lang="javascript" line start="1"> | ||
+ | <HTML> | ||
+ | <HEAD> | ||
+ | <TITLE>JavaScript constructor</TITLE> | ||
+ | </HEAD> | ||
+ | <BODY> | ||
+ | JavaScript constructor<br /> | ||
+ | <SCRIPT Language="JavaScript"> | ||
+ | <!-- | ||
+ | function funcName(){ | ||
+ | funcName.nValue = 1; | ||
+ | } | ||
+ | objName1 = new Object(); | ||
+ | objName2 = new Object("newって使わない方がいいんじゃね?"); | ||
+ | |||
+ | document.write("■Object.__proto__<br />"); | ||
+ | document.write(Object.prototype === objName1.__proto__, "<br />"); | ||
+ | document.write(objName1, "<br />"); | ||
+ | document.write("<br />"); | ||
+ | document.write("☆☆☆<br />"); | ||
+ | document.write(objName1.constructor, "<br />");//☆☆☆ | ||
+ | document.write("☆☆☆<br />"); | ||
+ | document.write("<br />"); | ||
+ | |||
+ | document.write(String.prototype === objName2.__proto__, "<br />"); | ||
+ | document.write(objName2, "<br />"); | ||
+ | |||
+ | for(var key in objName2){ | ||
+ | document.write("key = ", key , ", Value = ", objName2[key] ,"<br />"); | ||
+ | } | ||
+ | |||
+ | --> | ||
+ | </SCRIPT> | ||
+ | </BODY> | ||
+ | </HTML> | ||
+ | </syntaxhighlight> | ||
+ | [[Media:JavaScript Object constructor.html|実行結果サンプル]] | ||
== 記事作成用テンプレート == | == 記事作成用テンプレート == |