原型中新创建的属性具有哪些属性,因此无法替换该属性,如下所示:
Object.prototype.name="Maizere";
x=new Object();
console.log(x.name)//logs maizere
x.name="Pathak";
而不是在原型中用相同的名称替换属性的值,而是在对象上创建了新的属性,因此我需要了解此令人困惑的代码背后的所有事物
当创建新对象时(在设置其名称之前),您将具有以下内容:
Object
> prototype
> name = "Maizerre"
因此,如果获得其名称,它将首先查看其自身的属性,然后查看其原型链,直到找到它。
在代码末尾,您将具有以下内容:
Object
> name = "Pathak"
> prototype
> name = "Maizerre"
现在,当您要求输入名称时,它会找到对象本身的属性,而不会去寻找原型链。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句