bootstrap的js文件中函数面前‘+’号是什么意思?

发布于 2022-08-30 01:24:25 字数 134 浏览 7 评论 0

图片描述

就是 +function 中的+号

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

人心善变 2022-09-06 01:24:25

相当于 (function($) {...})($),意思就是把当前这个闭包立即执行。注意这个函数末尾有 ($),千万不要以为函数前面加个 + 就会执行。

如果不写 + 直接写 function() {...}(),这会造成 js 语法错误,这是因为 function() {...}函数声明,它不是表达式,它必须有一个名字。但就算有了名字,它也不会返回函数,在后面加 () 并不会变成函数调用,而是变成简单的括号表达式。

而前面写了个 + 之后 +function() {...}() 变成一个表达式,末尾的 () 由于运算优先级高会先执行,于是就把刚定义的函数执行了一遍。

现在流行这样写大概是因为比加括号的写法少一个字符吧,如果有其他深意请指正。

彩扇题诗 2022-09-06 01:24:25

@huandu 说的很对,任何一个一元运算符都能达到这样的效果,如-, ~, ++, --,你可以试试typeof也行

溇涏 2022-09-06 01:24:25

不仅一元运算符可以

var a = function(arg){
    console.log(arg);
    } ("nmsl");

也可以

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文