js——立即执行函数的多种写法
!function跟(function(){... })();函数意义相同,叫做立即运行的匿名函数(也叫立即调用函数)。
如下几种写法作用是相同的:
!function () {}();
~function () {}();
-function () {}();
+function () {}();
void function () {}();
(function (){}());
(function (){})();
不过这些运算符虽然能够达到让匿名函数立即执行的目的,但是他们是有副作用的,比如:
let a=!function() {return 1}();
console.info('a='+a);//false
let b=!function() {return 0}();
console.info('b='+b);//true
他们会对函数的返回值进行运算,这样可能会导致不一样的结果。对于那些没有返回值的函数来说,是没有什么影响了。所以最好使用这种
(function (){}());
(function (){})();
2024-7-9