javascript - 在javascript中,: (function() {"use strict"}) (); and "use strict"?有什么区别

标签 javascript function mode strict

<分区>

有什么区别:

(function () {'use strict';})(); 

“使用严格”

我不明白什么时候或为什么我会使用一个而不是另一个?

我认为一个声明完整的外部 JS 文档严格,另一个声明一个函数严格。

当我看到人们将完整的外部 JavaScript 包含在:

时,我感到很困惑:
(function () {'use strict';})(); 

为什么不直接使用 use "use strict" 开始文档?

最后,我使用相同的代码测试了一个外部 JS 文档。 第一,我使用了 "use strict" 并且它起作用了。

另一个我用 (function () {'use strict';})(); 附上了完整的 JS 文档,但它没有工作。

为什么?

JavaScript 是我的第一门编程语言,它的深度让我有点不知所措。非常感谢您的耐心和专业指导,感谢您为我提供的任何帮助或指导。

非常感谢。

最佳答案

如果你

"use strict";

在文件的顶部,整个文件(即文件/脚本标签中的所有代码,包括第三方库[感谢 VLAZ 的澄清])是严格的。

将它放在 IIFE 中:

(function() { "use strict"; })();

意味着只有 IIFE 内部的代码才是严格的。

关于javascript - 在javascript中,: (function() {"use strict"}) (); and "use strict"?有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56380195/

相关文章:

c - 无法通过函数向数组添加项目 (C)

excel - Mode Text 第二个最常见的文本值

c++ - 从 double vector 中找到多种模式

javascript - If 语句在 ie7 中不起作用

javascript - 从 React.js 中的递归渲染组件更新状态

javascript - 当数据是渲染组件Angular 6的单元格时如何对列进行排序

mysql - Grails 2.4.3 & MySQL & grails.project.fork = false

javascript - Brackets-shell是用什么语言编写的以及它是如何工作的

c - 在函数外释放内存会导致双重释放或损坏错误

javascript - 从其他 .js 文件访问函数