9

根据这个http://caniuse.com/use-strict 'use strict'在 IE 版本 8/9 中不支持。

我的问题是,在 IE 8/9 或不兼容的浏览器中使用“使用严格”真的安全吗?它会破坏我的代码吗?

4

2 回答 2

18

就浏览器将运行代码而言,该语句"use strict"; 不会导致 IE8/9 出现问题。(它是这样设计的,以确保没有实现严格模式的浏览器没有问题)

外部来源:http ://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

这意味着您可以在您的脚本中打开严格模式——今天——而且它在旧浏览器中最坏的情况下没有副作用。

注意:正如 Jeremy 在评论中指出的那样,有些表达式在技术上是有效的,但在 IE8 中会失败(例如:var x = {}; x.break = true在 IE8 中不起作用,即使在 IE9 中也可以)。

于 2013-08-14T05:03:35.070 回答
3

是的,应该没问题。

use指令旨在向后兼容。不支持它们的浏览器只会看到一个String没有被进一步引用的文字。所以,他们会跳过它并继续前进。

尽管如此,您仍然需要确保在启用和不启用它的情况下测试您的代码。

于 2013-08-14T05:04:11.140 回答