过去几周我看到很多应用程序在脚本开头都有这种脚本:
(function() {
// Code goes here...
});
任何人都可以解释这个或者有关于此的一些资源的链接吗?
答案 0 :(得分:1)
"use strict"
用于确保声明所有变量。例如,我可以做到没有错误:
x = 3;
虽然没有宣布,但我做不到:
"use strict";
x = 3;
没有抛出错误。我必须使用:
"use strict";
var x = 3;
"use strict"
可用于function
。例如:
x = 3; // no error
myFunc();
function myFunc() {
"use strict";
y = 3; // error
}
在delete
模式下,您也无法use strict
变量。
答案 1 :(得分:0)
匿名函数是动态声明的函数 运行。它们被称为匿名函数,因为它们没有给出 名称与普通函数相同。
使用函数运算符声明匿名函数 函数声明。您可以使用函数运算符 创建一个新函数,只要它放置表达式是有效的。对于 例如,您可以将新函数声明为函数的参数 调用或分配另一个对象的属性。
Here就是这篇文章。
答案 2 :(得分:0)
实际上,这可能就像:
(function() {
"use strict"
var x = 1;
document.write("I am inside the function scope and x=", x, "<br/>");
}())
if (typeof(x) === "undefined") {
document.write("I am outside the function scope and x=undefined");
}
&#13;
该函数创建一个范围,您可以使用该范围来防止在全局范围内设置变量等。 &#34;使用严格&#34;有助于保持代码清洁并抛出可能导致错误的常见错误(例如重新声明同名变量。请注意,在上面的代码中,var x在函数范围内设置。在函数范围之外,它是未定义的。如果你加载了这两件事在不同的.js文件中,并且来自不同的作者,他们每个人都可以使用自己的&#34; var x&#34;并且它们不会发生冲突,因为它们位于不同的范围而不是设置在全局范围内。
至于&#34;使用严格的&#34;模式以及它具体阻止您在此处的文档中可以看到更多详细信息: MDN "use strict" docs
作为参考,此代码开头的函数被视为IIFE(立即调用的函数表达式)。