prototye中新创建的属性有哪些属性无法替换,请参阅下面的::
Object.prototype.name="Maizere";
x=new Object();
console.log(x.name)//logs maizere
x.name="Pathak";
而不是在prototye中替换具有相同名称的属性的值,而是在对象上创建新属性,所以我需要知道这个令人困惑的代码背后的每个方法
答案 0 :(得分:3)
当您创建新对象时(在设置其名称之前),您可以这样:
Object
> prototype
> name = "Maizerre"
因此,如果你得到它的名字,它首先看它自己的属性,然后在它的原型链上找到它。
在代码的最后,你有这个:
Object
> name = "Pathak"
> prototype
> name = "Maizerre"
现在当你要求这个名字的时候,它会找到一个属于对象本身属性的名字,并且不会沿着原型链查看。