Javascript 如果在使用前访问Object.defineProperty定义的属性,为什么该属性的行为会发生更改?

Javascript 如果在使用前访问Object.defineProperty定义的属性,为什么该属性的行为会发生更改?,javascript,properties,defineproperty,Javascript,Properties,Defineproperty,只在Chrome上测试过,我的应用程序不需要在任何其他浏览器上运行 例如,在以下代码()中: 输出为: 00AB00CD00 ABABCDCD 而不是: 00ABABCDCD 而在以下代码()中: 输出为: 00AB00CD00 ABABCDCD 这是怎么回事?您输入的可写: writable: true 一切正常 默认情况下,writeable为false,因此如果名称输入错误,它仍将为false 如何设置不可写属性并覆盖/隐藏原型属性毫无意义,这看起来像是Chrome实现中的一

只在Chrome上测试过,我的应用程序不需要在任何其他浏览器上运行

例如,在以下代码()中:

输出为:

00AB00CD00
ABABCDCD
而不是:

00ABABCDCD
而在以下代码()中:

输出为:

00AB00CD00
ABABCDCD

这是怎么回事?

您输入的
可写

writable: true
一切正常

默认情况下,
writeable
false
,因此如果名称输入错误,它仍将为
false



如何设置不可写属性并覆盖/隐藏原型属性毫无意义,这看起来像是Chrome实现中的一个bug。此错误行为在Firefox中是不可复制的。

您键入的
可写错误

writable: true
一切正常

默认情况下,
writeable
false
,因此如果名称输入错误,它仍将为
false



如何设置不可写属性并覆盖/隐藏原型属性毫无意义,这看起来像是Chrome实现中的一个bug。这种错误行为在Firefox中是不可复制的。

顺便说一句,您输入了
A.prototype.constructor
。我不知道你为什么要修改它-你需要使用跨浏览器属性吗?谢谢,我纠正了这个问题。顺便说一下,你输入了
A.prototype.constructor
。我不知道你为什么要改变它-你需要使用那个属性的跨浏览器吗?谢谢,我纠正了这个问题,但同样的问题。该死的打字错误,有一些业力。该死的打字错误,有一些业力。