在调用Javascript之前检查其严格的模式兼容性

ughitsaaron

我很好奇下面的代码在调用之前是否有测试Java严格模式兼容性的代码是否有问题:

(function() { "use strict"; return this; })() || "use strict";

我担心它太笨重,或者由于某种原因实际上无法正常工作。

更新

罗伯特很好地回答了我的问题。我以为我可以将其放在这里以供将来参考,以利于他人。摘自John Resig的“ ECMAScript 5严格模式,JSON和更多内容”:

用于启用严格模式的语法...只是单个语句中的一个字符串,恰好包含“ use strict”的内容。为了启用严格模式,未引入新语法。这是巨大的。这意味着您可以在今天的脚本中打开严格模式,最坏的是,它不会在旧的浏览器中产生任何副作用。

罗伯特·李

支票无效,也不需要。如果浏览器不支持严格模式,它将简单地将严格模式声明视为字符串文字表达式,这是一个完全有效的表达式,并且没有副作用。

在支持严格声明的浏览器中,只需直接使用声明即可。

无论如何,严格模式声明必须独立存在,而不是较大表达式的一部分,否则,即使是具有严格模式支持的现代浏览器也将其视为常见的无意义的字符串文字。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在调用Java脚本之前检查其严格的模式兼容性

来自分类Dev

JS:原型模式兼容性

来自分类Dev

Java的兼容性编译模式

来自分类Dev

Azure PaaS兼容性检查

来自分类Dev

依赖程序集,检查兼容性

来自分类Dev

无效的调用对象和兼容性

来自分类Dev

Firebase Javascript / Typescript映射兼容性

来自分类Dev

Javascript 与桌面 Safari 的兼容性

来自分类Dev

检查JavaScript中对象中是否存在属性(浏览器兼容性)

来自分类Dev

IE兼容性视图模式下的superfish菜单错误

来自分类Dev

在sqlalchemy中检查表兼容性

来自分类Dev

检查OpenCL版本兼容性是否正确?

来自分类Dev

在Tensorflow中检查广播兼容性-C ++ API

来自分类Dev

实体框架6.1.1禁用模型兼容性检查

来自分类Dev

为什么无法检查型号兼容性?

来自分类Dev

通过MarkLogic进行corb2兼容性检查

来自分类Dev

通过MarkLogic进行corb2兼容性检查

来自分类Dev

Windows 10-强制进行硬件兼容性检查

来自分类Dev

如何检查GPU和主板的兼容性?

来自分类Dev

在Winpe引导中取消acpi兼容性检查

来自分类Dev

与automaticAdjustsScrollViewInsets的兼容性

来自分类Dev

包装兼容性

来自分类Dev

硬盘兼容性

来自分类Dev

游戏兼容性?

来自分类Dev

Sharepoint 2013 Javascript对象模型IE兼容性

来自分类Dev

JavaScript浏览器与NodeJs的兼容性

来自分类Dev

Sharepoint 2013 Javascript对象模型IE兼容性

来自分类Dev

IE兼容性中的Javascript选项元素的选择

来自分类Dev

从coffeescript浏览器兼容性编译的Javascript