[英]Can someone please explain to me what the “|” symbol is doing in Javascript?
[英]I'm new to JavaScript. Can someone explain to me what this syntax is doing ()()
有人可以向我解释此语法在做什么吗?
(function(star){
//do something
})(star || (star = {}));
它称为IIFE(立即调用的函数表达式),它在加载后立即运行。 它用于避免污染全局名称空间。 也就是说,函数中的变量不在全局范围内,因此它们将被执行然后消失(保存任何仍具有有效引用的变量)
它声明了一个匿名函数,并立即使用表达式star || (star = {})
调用它。 star || (star = {})
,它在必要时将star
初始化为一个空对象,然后将其作为参数传递。
这是一个匿名的自呼功能。 通常您会:
function a(b,c){
//execute
}
a(1,2);
但是其他人可以执行此功能,如果您想将其放入一个变量中,该函数会有点长:
function a(b,c){
return b+c;
}
d=a(1,2);
使用自调用功能,这变得容易得多:
d=(function(b,c){return b+c;})(1,2);
它具有以下语法:
(anonymous function to call)(passed variables)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.