![]() |
1
4
其工作方式是首先在对象上查找属性,然后如果找不到属性,则在原型中查找它们。
这就是它的工作原理。如果要删除在对象上设置的属性,可以使用“删除”:
这将删除myOtherObj的num属性,并允许原型版本显示出来。 您引用的规范部分试图解释如何为新创建的实例设置内部[[Prototype]]属性。除了在属性查找中的角色外,[[Prototype]]与任何其他Javascript对象引用都类似。
另一个例子是:
注意,一旦对象被构造,它就保持对任何被设置为构造函数原型的对象的引用 . 更改该对象的属性仍将影响对同一原型的任何其他引用。 |
![]() |
2
3
当你试图访问一个对象的属性时,这个属性不是在这个对象中设置的,JS引擎会启动原型链并尝试在那里读取它。只要未在该对象中显式设置属性,则为真。
仅当设置对象的某个属性时,该属性才在该对象中定义。这也是更改对象原型时,已声明对象的特定属性更改的原因。
在这里你还可以读到
你真的来了
阅读
现在你读
|
![]() |
3
2
其他人会比我更好地解释这一点,所以同样的用户,可以自由地评论我的答案。我会删除,如果它是非常恶劣的。
所以无论这个价值是什么,都是你将得到的价值。更新它,任何查看它的对象都会找到更新后的值。
编辑:
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 7 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 7 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 7 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 7 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 7 月前 |