javascript - 紅寶書152頁hasPrototypeProperty(object,name)錯了嗎?
迷茫
迷茫 2017-06-26 10:57:58
0
2
859
function hasProtoproperty(object,name){
    return !object.hasOwnproperty(name) && (name in object);
}

紅寶書P152說此函數能偵測屬性是在原型還是在實例中

true在原型中
false在实例中

但是,當原型和實例中都不存在某屬性的時候也會回傳false啊

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
扔个三星炸死你

翻了一下書,函數沒有錯,但書中的解釋確實容易引起誤解。

看函數名稱就好了-hasPrototypeProperty(object, name)--原意是判斷一個物件的原型上有無指定屬性,只要原型上沒有指定屬性,就會傳回 false。

我理解書中的解釋是針對name這個屬性說的,以物件有這個屬性為前提,如果函數回傳 false,那麼這個屬性是在原型上。

淡淡烟草味

剛才我試了一下,確實是,可能書中只是強調區別和方法吧,自己用的時候加個判斷就完美了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板