- 2009-06-23 (火) 11:00
- javascript
constructorプロパティのことを知らなかったのでメモ。
function Hoge() {
this.piyo = function() {
console.log('(o e o)/');
}
}
function Fuga() {
this.piyo = function() {
console.log('ピヨピヨ');
}
}
var hoge = new Hoge();
var fuga = new hoge.constructor();
// (o e o)/
hoge.piyo();
fuga.piyo();
// Hogeオブジェクトの中身
console.log(hoge.constructor.toString());
console.log(fuga.constructor.toString());
// すべてtrue
console.log(hoge.constructor === Hoge);
console.log(hoge.constructor === Hoge.prototype.constructor);
console.log(fuga.constructor === Hoge);
console.log(fuga.constructor === Hoge.prototype.constructor);
console.log(hoge.constructor === fuga.constructor);
// constructorプロパティの上書き
fuga.constructor = Fuga;
var piyo= new fuga.constructor();
// ピヨピヨ
piyo.piyo();
// Fugaオブジェクトの中身
console.log(piyo.constructor.toString());
なるほど、constructorプロパティは上書きできてしまうのですね。
上記URLの内容は、constructorプロパティが実装されたことで、HTMLElement系のコンストラクタ関数を取得することができたってことなのかなー。。
- Newer: SBMカウンタ等のFirefox 3.5対応について
- Older: ただいま準備中です
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://miniturbo.org/2009/06/23/110014/trackback/
- Listed below are links to weblogs that reference
- Object.prototypeのconstructorプロパティ from miniturbo.org