扫码关注官方订阅号
就是 +function 中的+号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
相当于 (function($) {...})($),意思就是把当前这个闭包立即执行。注意这个函数末尾有 ($),千万不要以为函数前面加个 + 就会执行。
(function($) {...})($)
($)
+
如果不写 + 直接写 function() {...}(),这会造成 js 语法错误,这是因为 function() {...} 是函数声明,它不是表达式,它必须有一个名字。但就算有了名字,它也不会返回函数,在后面加 () 并不会变成函数调用,而是变成简单的括号表达式。
function() {...}()
function() {...}
()
而前面写了个 + 之后 +function() {...}() 变成一个表达式,末尾的 () 由于运算优先级高会先执行,于是就把刚定义的函数执行了一遍。
+function() {...}()
现在流行这样写大概是因为比加括号的写法少一个字符吧,如果有其他深意请指正。
@huandu 说的很对,任何一个一元运算符都能达到这样的效果,如-, ~, ++, --,你可以试试typeof也行
-, ~, ++, --
typeof
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
相当于
(function($) {...})($),意思就是把当前这个闭包立即执行。注意这个函数末尾有($),千万不要以为函数前面加个+就会执行。如果不写
+直接写function() {...}(),这会造成 js 语法错误,这是因为function() {...}是函数声明,它不是表达式,它必须有一个名字。但就算有了名字,它也不会返回函数,在后面加()并不会变成函数调用,而是变成简单的括号表达式。而前面写了个
+之后+function() {...}()变成一个表达式,末尾的()由于运算优先级高会先执行,于是就把刚定义的函数执行了一遍。现在流行这样写大概是因为比加括号的写法少一个字符吧,如果有其他深意请指正。
@huandu 说的很对,任何一个一元运算符都能达到这样的效果,如
-, ~, ++, --,你可以试试typeof也行