我對以下代碼的期望是,如果我檢查了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