【JS】bootstrap的js文件中函数面前‘+’号是什么意思?
就是 +function 中的+号
回答
相当于 (function($) {...})($)
,意思就是把当前这个闭包立即执行。注意这个函数末尾有 ($)
,千万不要以为函数前面加个 +
就会执行。
如果不写 +
直接写 function() {...}()
,这会造成 js 语法错误,这是因为 function() {...}
是函数声明,它不是表达式,它必须有一个名字。但就算有了名字,它也不会返回函数,在后面加 ()
并不会变成函数调用,而是变成简单的括号表达式。
而前面写了个 +
之后 +function() {...}()
变成一个表达式,末尾的 ()
由于运算优先级高会先执行,于是就把刚定义的函数执行了一遍。
现在流行这样写大概是因为比加括号的写法少一个字符吧,如果有其他深意请指正。
@huandu 说的很对,任何一个一元运算符都能达到这样的效果,如-, ~, ++, --
,你可以试试typeof
也行
不仅一元运算符可以
var a = function(arg){ console.log(arg);
} ("nmsl");
也可以
以上是 【JS】bootstrap的js文件中函数面前‘+’号是什么意思? 的全部内容, 来源链接: utcz.com/a/89270.html