4
我想抓住JavaScript的构造函数,如果他们真的只读。这里是一个简单的测试场景:所以在这一点上,每一个新的函数接收一个包含构造函数作为参考的原型对象。这很好。现在考虑这个:JavaScript的构造函数
var B = function() {
this.id = 0;
}
A.prototype.constructor = B; // what does this do with A?
所以,现在,A的每个实例都应该得到B中的构造函数:
var C = new A();
console.log(C.constructor == B) // true
所以最后,这是否会对每个实例任何真正的影响?它似乎并不如此:
console.log(C.id); // what will this yield?
我的问题是:什么是公开构造函数引用的目的是什么?显然你可以设置/覆盖它,但除了改变引用外,它什么也不做。或者我错过了什么?
嗨,关于javascript继承的每一篇文章,都告诉我们修复原型构造函数,在那个问题之后:A.prototype = Object.create(B.prototype);' 'A.prototype.constructor = B //在这里修复' 我不明白'Object.create'的作用,但是下一行似乎没用。我写了一些代码删除它,并没有任何效果。所以我的问题是,为什么每个人都说*修复构造函数? – 2015-11-12 20:30:23