自调用匿名函数的几种写法

先来看看下面这行代码
function(){alert(1)}() //报错

//解释器判定:以function开头的语句 是函数声明语句
//函数声明是不能立即执行的,需要转成函数对象
//只需要在function前面加上其他字符 解释器就不会判定为函数声明了

下面是常用的一些写法

(function(){})()

;(function(){})()//压缩代码之后前面的代码漏写分号可能会导致语法错误

!function(){}()

~function(){}();

+function(){}();

-function(){}();

void function(){}();

参考知乎:(function(){…})(); 与 (function(){…}()); 这两种写法在意义上有什么区别?

发表评论

电子邮件地址不会被公开。 必填项已用*标注