之间有什么区别
(function () {'use strict';})();
和"use strict"
。
我不知道何时,为什么要使用一个?
我认为一个严格声明完整的外部JS文档,而另一个将函数声明为严格。
当我看到人们将完整的外部JavaScript封装在以下内容中时,我会感到困惑:
(function () {'use strict';})();
为什么不只使用"use strict"
来启动文档?
最后,我已经使用相同的代码测试了外部JS文档。
一种,我使用了"use strict"
,它起作用了。
另一个我用(function () {'use strict';})();
括了完整的JS文档,但没有起作用。
为什么?
JavaScript是我的第一门编程语言,但它的深度让我有些不知所措。非常感谢您的耐心配合和专业的指导,感谢您为我提供的帮助或指导。
非常感谢您。
答案 0 :(得分:2)
如果您
"use strict";
在文件顶部,整个文件(即文件/脚本标签中的所有代码,包括第三方库(感谢VLAZ进行澄清))都是严格的。
将其放置在IIFE中:
(function() { "use strict"; })();
意味着仅在IIFE内部进行编码是严格的。
答案 1 :(得分:0)
好吧
(function() { "use strict"; })()
完全没有用;它对任何东西都没有影响。
在作用域的开头,例如函数或<script>
块,
"use strict";
向您要在“严格”模式下解释代码的解释器发出信号。如果它处于不执行任何操作的函数中,则对任何内容都没有有意义的影响。当然,如果您正在谈论的 actual 函数具有的代码不仅仅是"use strict";
语句,那么这意味着该函数将以“严格”模式进行解释。