javascript 匿名函数有哪几种执行方式:
( function() {}() ); ( function() {} )(); [ function() {}() ]; ~ function() {}(); ! function() {}(); + function() {}(); - function() {}(); delete function() {}(); typeof function() {}(); void function() {}(); new function() {}(); new function() {}; var f = function() {}(); 1, function() {}(); 1 ^ function() {}(); 1 > function() {}(); // ...
!(function() {})();前面为什么要加~、!这些符号?
后面的()是执行一个函数,而(function() {})是一个执行表达式,返回一个匿名函数的引用。
在前面加上一元运算符是为了进行分隔。
否则如果在(function() {})();之前包含“未结束”的语句,还没有加一元运算符进行分隔的话,会报错。
提示缺少函数。
既然前面的一元运算符或者;不能被省略,那么(function() {})这个()能不能省呢?
如果是;function() {}()就不行了,会报语法错误,其它一元运算符可以,但是仍然建议加上()。
我们一般都使用 !function(){}();来进行函数立即调用。
时间: 2024-10-20 11:33:29