我对以下代码的期望是,如果我检查了a.name
,它会搜索原型并在声明时返回原型。任何人都可以指出这是什么阻止JS承认我的原型?Javascript原型怪癖 - 任何人都可以解释一下吗?
var obj = function(parent){
return {
prototype: parent
}
};
var me = { name: 'keith' };
var a = new obj(me)
// => undefined
a.name
// => undefined
a.prototype.name
// => "keith"
他只是增加了一个新的属性'obj.prototype'命名为原型 –
我觉得棒实际上是正确的,它看起来像不知何故,我取消了内部链接到“原型”,并取代了它具有JavaScript不会实现原型功能的属性。我认为这可能是新的关键字首先初始化对象,然后*然后*覆盖原型与一个新的值,这是不在范围链 – netpoetica