suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Ist hasPrototypeProperty(object,name) auf Seite 152 des Little Red Book falsch?

function hasProtoproperty(object,name){
    return !object.hasOwnproperty(name) && (name in object);
}

Little Red Book P152 besagt, dass diese Funktion erkennen kann, ob sich das Attribut im Prototyp oder in der Instanz befindet

true在原型中
false在实例中

Wenn jedoch ein bestimmtes Attribut im Prototyp oder in der Instanz nicht vorhanden ist, wird auch false zurückgegeben

迷茫迷茫2742 Tage vor863

Antworte allen(2)Ich werde antworten

  • 扔个三星炸死你

    扔个三星炸死你2017-06-26 10:59:58

    翻了一下书,函数没有错,但书中的解释确实容易引起误解。

    看函数名就好了——hasPrototypeProperty(object, name)——原意是判断一个对象的原型上有无指定属性,只要原型上没有指定属性,就会返回 false。

    我理解书中的解释是针对name这个属性说的,以对象有这个属性为前提,如果函数返回 false,那这个属性是在原型上。

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-26 10:59:58

    刚才我试了下,确实是,可能书中只是强调区别和方法吧,自己用的时候加个判断就完美了

    Antwort
    0
  • StornierenAntwort