ECMAScript 5 即将进入决赛我写这篇文章的草稿;它是由于包含一个严格模式,它将阻止您使用eval和其他限制分配给全局对象。 ( John Resig的文章是一个很好的介绍。)

通过包含字符串“use strict”来触发这种神奇的保健模式。在文件的顶部(或函数。)但是,在较旧的环境中,“use strict”是一个无操作。如果你添加“use strict”并且不要在严格的环境中测试它,你可能会留下一个不太严格的代码的定时炸弹,当它真正遇到严格的环境时会破坏。

哪些环境实际上尊重“使用严格”?

有帮助吗?

解决方案

<强>更新

请参阅我的兼容性表

原始回复

目前没有。

Raphael Speyer在今年夏天为Rhino实施Mozilla实施工作,并且afaik,他们的实施非常接近完成。

我知道(基于来自ES讨论列表的信息)微软计划将一些ES5功能包含在即将推出的IE版本中,他们现在很可能正在进行严格的模式实现(你可能知道,IE8)已包含一些ES5功能,如 Object.defineProperty )。

还有 Google的Caja项目,它在某些方面模仿了严格模式的行为它的变化(Valija,Cajita等)。

Crockford最近还将此选项添加到 JSLint ,但我不确定它是否真的触发任何其他验证(根据ES5严格规则)。

其他提示

现在它已经发布,Firefox 4是“第一款支持ES5严格模式的浏览器”的赢家。现在您可以开始使用它,只要您在Firefox 4中进行测试。


Safari 5.1+和Chrome 13+也支持严格模式。


第一个是: Besen 。在Delphi中实现。我认为这是独立的,但我不确定。但它确实支持严格的模式。

通过此兼容性表找到。


Jurassic 声称支持ES5严格模式。

ECMAscript 5严格模式要求主要浏览器(或更高版本)使用这些版本:

Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6

不,IE9没有严格的支持,它是10或更高版本的新功能。

Opera 11.60已经完全支持ECMAScript 5.1,它的严格模式变化。请参阅@kangax兼容性表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top