说明javascript无法删除继承的属性。
伙计们。我正在研究对象的属性,有一件事引起了我对信息来源的注意。整个文档中有一部分是关于JS的 原型属性 JavaScript对象继承其原型的属性 delete关键字不会删除继承的属性,但如果删除原型属性,它将影响从原型继承的所有对象说明javascript无法删除继承的属性。,javascript,properties,object-oriented-analysis,prototype-programming,Javascript,Properties,Object Oriented Analysis,Prototype Programming,伙计们。我正在研究对象的属性,有一件事引起了我对信息来源的注意。整个文档中有一部分是关于JS的 原型属性 JavaScript对象继承其原型的属性 delete关键字不会删除继承的属性,但如果删除原型属性,它将影响从原型继承的所有对象 我有点迷路了。。。我知道这听起来很愚蠢,但我需要确切地理解在流程和应用程序中这意味着什么 delete从对象中删除属性。如果对象继承了该属性,而不是拥有具有该名称的自己的属性,则对该属性调用delete不会产生任何作用:您无法删除不存在的内容。:-)具有属性的是对
我有点迷路了。。。我知道这听起来很愚蠢,但我需要确切地理解在流程和应用程序中这意味着什么
delete
从对象中删除属性。如果对象继承了该属性,而不是拥有具有该名称的自己的属性,则对该属性调用delete
不会产生任何作用:您无法删除不存在的内容。:-)具有属性的是对象的原型(或其原型,或其原型的原型等),而不是继承它的对象
举个例子可能会有所帮助。考虑:
//用作原型的对象
var p={答案:42};
//以“p”为原型的对象
var o=Object.create(p);
console.log(p.answer);//42
console.log(p.hasOwnProperty(“answer”);//真的
console.log(o.answer);//42
console.log(o.hasOwnProperty(“answer”);//错误