我刚刚发现在最后的Chrome 42和FF 37.0.2中,这些代码行完全合法

"use strict";
var o = { p: 1, p: 2 };

(从MDN复制粘贴)

在IE 10-11和Opera 28.0.1750中,它会按预期引发错误。

在同一时间,
abc=0;

导致错误(未声明的变量),如预期的那样。

有人知道造成这种变化的原因吗?

最佳答案

这里有一个Bugzilla ticket。从我收集到的信息(在这里和我浏览过的其他页面)中,重复的属性在ECMAScript第6版中是合法的,而在严格模式下则禁止使用ES5。

关于javascript - "use strict";现在允许重复属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29936845/

10-11 23:20
查看更多