哪些(javascript)环境支持ECMAscript 5严格模式?(又名“严格使用”)
是在我写这篇文章的最后草稿中;这是因为包含一个严格模式,该模式将阻止您使用eval和其他限制指定给全局对象。(这是一个很好的介绍。) 这种神奇的健全保存模式是通过在文件(或函数)顶部包含字符串“use strict”来触发的。但是,在较旧的环境中,“use strict”是不可操作的。如果添加“use strict”而不在严格的环境中进行测试,你可能会留下一个不太严格的代码的定时炸弹,当它真正到达一个严格的环境时就会爆炸哪些(javascript)环境支持ECMAscript 5严格模式?(又名“严格使用”),javascript,strict,ecma262,ecmascript-5,Javascript,Strict,Ecma262,Ecmascript 5,是在我写这篇文章的最后草稿中;这是因为包含一个严格模式,该模式将阻止您使用eval和其他限制指定给全局对象。(这是一个很好的介绍。) 这种神奇的健全保存模式是通过在文件(或函数)顶部包含字符串“use strict”来触发的。但是,在较旧的环境中,“use strict”是不可操作的。如果添加“use strict”而不在严格的环境中进行测试,你可能会留下一个不太严格的代码的定时炸弹,当它真正到达一个严格的环境时就会爆炸 哪些环境实际上尊重“严格使用”?更新: 看我的 原始响应: 现在还没有 拉
哪些环境实际上尊重“严格使用”?更新: 看我的 原始响应: 现在还没有 拉斐尔·斯派尔(Raphael Speyer)和阿法伊(afaik),他们的实现已经接近完成 我知道(根据ES讨论列表中的信息),微软计划在即将发布的IE版本中加入一些ES5功能,他们现在很可能正在致力于严格模式的实现(您可能知道,IE8已经包含了一些ES5功能,如
Object.defineProperty
)
还有一些类似于strict模式的行为的变体(Valija、Cajita等)
Crockford最近还向添加了此选项,但我不确定它是否真的会触发任何额外的验证(根据ES5严格规则)。现在它已经实际发布,Firefox 4是“第一个支持ES5严格模式的浏览器”的赢家。现在你可以开始使用它了,只要你在Firefox 4中进行测试
Safari 5.1+和Chrome 13+也支持严格模式
第一个在:。用Delphi实现。我认为它是独立的,但我不确定。但它确实支持严格模式 通过找到
声称支持ES5严格模式。ECMAscript 5严格模式要求主要浏览器(或更高版本)使用以下版本: 铬合金13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6
不,IE9没有严格的支持,它是10版或更高版本的新版本。Opera 11.60已经完全支持ECMAScript 5.1及其严格的模式变化。请参阅@kangax兼容性表 更糟糕的是,Speyer没有时间,也没有实现严格模式,因此,尽管Rhino将支持ES5的大多数其他功能,但它不支持严格模式-(因此,我发现了Mozilla实现的跟踪错误:(我想这是SpiderMonkey的。)以下是Rhino的ES5:的跟踪错误和Rhino:的“严格模式”错误,看起来这与我们将获得的Webkit/JavaScriptCore:有关ES5支持(包括严格模式)的更多信息一样接近在SpiderMonkey/Firefox中:Webkit中的代码登录:有趣的是,上面的另一张海报维护了兼容性表。是的;@kangax非常适合跟踪这些东西。只有尚未发布的opera 12支持严格模式。不,opera 11.60支持严格模式-->哈。@kangax的表没有涵盖opera 11.6。奇怪。