不加的时候
function(x){}(i)
对比下匿名函数的声明方式
function (){}
不过是多了个(i)而已
此时浏览器解释器会把它当作声明来解析
但规范中并没有说你能在函数声明後面直接调用的吧
这时我们需要给点前提条件
让解释器去知道我们希望进行匿名函数的直接调用
以下方法都是可行的
a = function(){}()
~function(){}()//个人喜好的方式
!function(){}()
+function(){}()
void function(){}()
当然
如果你不喜欢以上方式
(function(){})()
也是可行的