在IE 8/9中使用'use strict'是否安全

时间:2013-08-14 04:57:29

标签: javascript internet-explorer strict use-strict

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

我的问题是,在IE 8/9或与其不兼容的浏览器中使用'use strict'是否真的安全?它会破坏我的代码吗?

2 个答案:

答案 0 :(得分: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中也能正常工作)。

答案 1 :(得分:3)

是的,应该没事。

use directives意味着向后兼容。不支持它们的浏览器只会看到未被进一步引用的String文字。所以,他们会过去并继续前进。

但是,您仍然希望确保在启用和不启用代码的情况下测试代码。