Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
说明javascript无法删除继承的属性。_Javascript_Properties_Object Oriented Analysis_Prototype Programming - Fatal编程技术网

说明javascript无法删除继承的属性。

说明javascript无法删除继承的属性。,javascript,properties,object-oriented-analysis,prototype-programming,Javascript,Properties,Object Oriented Analysis,Prototype Programming,伙计们。我正在研究对象的属性,有一件事引起了我对信息来源的注意。整个文档中有一部分是关于JS的 原型属性 JavaScript对象继承其原型的属性 delete关键字不会删除继承的属性,但如果删除原型属性,它将影响从原型继承的所有对象 我有点迷路了。。。我知道这听起来很愚蠢,但我需要确切地理解在流程和应用程序中这意味着什么 delete从对象中删除属性。如果对象继承了该属性,而不是拥有具有该名称的自己的属性,则对该属性调用delete不会产生任何作用:您无法删除不存在的内容。:-)具有属性的是对

伙计们。我正在研究对象的属性,有一件事引起了我对信息来源的注意。整个文档中有一部分是关于JS的

原型属性 JavaScript对象继承其原型的属性

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”);//错误