function hasProtoproperty(object,name){
return !object.hasOwnproperty(name) && (name in object);
}
紅寶書P152說此函數能偵測屬性是在原型還是在實例中
true在原型中
false在实例中
但是,當原型和實例中都不存在某屬性的時候也會回傳false啊
扔个三星炸死你2017-06-26 10:59:58
翻了一下書,函數沒有錯,但書中的解釋確實容易引起誤解。
看函數名稱就好了-hasPrototypeProperty(object, name)
--原意是判斷一個物件的原型上有無指定屬性,只要原型上沒有指定屬性,就會傳回 false。
我理解書中的解釋是針對name
這個屬性說的,以物件有這個屬性為前提,如果函數回傳 false,那麼這個屬性是在原型上。