Javascript 在javavscript中:(function(){“use strict”})与;及;使用严格的“;?

Javascript 在javavscript中:(function(){“use strict”})与;及;使用严格的“;?,javascript,function,mode,strict,Javascript,Function,Mode,Strict,以下两者之间的区别是什么: (function () {'use strict';})(); 和“严格使用” 我不明白什么时候或者为什么我会用一个来代替另一个 我认为一个声明完整的外部JS文档是严格的,另一个使函数是严格的 当我看到人们将其完整的外部JavaScript封装在: (function () {'use strict';})(); 为什么不直接用use“use strict”开始文档 最后,我使用相同的代码测试了一个外部JS文档。 第一,我使用了“使用严格的”,它起了作用 另

以下两者之间的区别是什么:

(function () {'use strict';})(); 
“严格使用”

我不明白什么时候或者为什么我会用一个来代替另一个

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

当我看到人们将其完整的外部JavaScript封装在:

(function () {'use strict';})(); 
为什么不直接用use
“use strict”
开始文档

最后,我使用相同的代码测试了一个外部JS文档。 第一,我使用了
“使用严格的”
,它起了作用

另一个我用
(function(){'use strict';})()附上了完整的JS文档并且它没有起作用

为什么?

JavaScript是我的第一种编程语言,它的深度让我有些不知所措。我真的很感谢你的耐心和专业指导,谢谢你能为我提供的任何帮助或指导

非常感谢。

好的

(function() { "use strict"; })()
完全没有用,;它对任何事情都没有影响

在作用域的开头,如函数或

"use strict";
向解释器发出信号,表示希望以“严格”模式解释代码。如果它在一个不做任何事情的函数中,它对任何事情都没有意义。当然,如果您所讨论的实际函数的代码比
“use strict”多语句,则表示该函数将在“严格”模式下解释。

如果

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

把它放在生活中:

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

意味着只有IIFE中的代码是严格的。

一个适用于单个函数,另一个适用于文件中的每个函数。也许把它应用到任何事情上都是不可取的。我最初对你投了反对票,因为关于它无用的评论是不必要的,也无助于回答这个问题。我认为暗示是将严格模式调用放在IIFE模块的顶部,该模块中包含代码,但为了简洁起见,OP排除了代码。你添加了更多信息,我取消了否决票。我仍然认为OP意味着除了严格的调用之外,生活中还会有更多的代码。@zero298对OP发布的内容做出假设是我在这个网站上呆了10年后学会的一件事;不可能知道到底发生了什么。也许OP意味着会有更多的代码,但也许不是。我发布的答案涉及问题的确切代码。在我看来,对于初学者来说,避免假设尤其重要。非常感谢你,我非常感谢你的帮助@尖尖的爱你的范艾克阿维塔@文件顶部的VLAZ“use strict”仅影响该文件。它不影响其他作用域。它会影响连接到单个文件中的每个脚本,但不会影响其他脚本文件。ES2015还引入了模块级模式,影响该模块中的每个脚本。@艾米,谢谢。我不知道我从哪里选的,然后-我重新检查了来源,我以为我在里面看到了,但没有看到。我想一定是幻觉了。