在调用严格模式之前检查Javascript中的严格模式兼容性
Checking for strict mode compatibility in Javascript before invoking it
我很好奇,如果有任何错误与以下代码意味着测试Javascript严格模式的兼容性之前调用它:
(function() { "use strict"; return this; })() || "use strict";
我担心它要么太笨重,要么因为某些原因不能实际工作。
Robert很好地回答了我下面的问题。我想我应该把这个放在这里,以供将来参考,为其他人的利益。摘自John Resig的《ECMAScript 5严格模式,JSON和更多》:
[T]用于启用严格模式的语法…[是]只是一个字符串在一个单独的语句,碰巧包含内容" use strict "。没有引入新的语法来启用严格模式。这是巨大的。这意味着你可以在你的脚本中打开严格模式-今天-它将有,最坏的情况下,在旧的浏览器中没有副作用。
检查不起作用,也不需要。如果浏览器不支持严格模式,它将简单地将严格模式声明视为字符串字面表达式,这是一个完全有效的表达式,没有副作用。
在支持严格模式的浏览器中需要严格模式时,直接使用声明。
在任何情况下,严格模式声明都需要独立存在,而不是更大的表达式的一部分,否则即使是具有严格模式支持的现代浏览器也会将其视为一个普通的无意义的字符串文字。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- D3.js模式不适用于弧形或圆环图
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 模块模式和这个
- 带有let的JS/EECMAScript6私有字段的模式
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 执行动态模式弹出
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- AngularJS ui路由器html5模式中断路由
- JS:原型模式兼容性
- IE 文档模式兼容性
- 带有javascript的网站;我不在IE9工作,但在IE9's兼容性模式-如何强制兼容性视图
- Intranet兼容性模式替代为IE-7默认模式
- 在调用严格模式之前检查Javascript中的严格模式兼容性
- 兼容性pb引导和模式在我的网站的标题