(function(str){console.log(str+'欢迎你~');})('行步至春深');(function(str) {console.log(str+'欢迎你~');}('行路易知难'));
可以看到,每种写法都比平常多出两个小括号,其中一个可以看作是调用,里面装参数,另一个可以看作防止语法错误。
立即执行函数除了可以传参,其实也可以有名字,写成下面这样并不算错。
(function fn(str){console.log(str+'欢迎你~');})('行步至春深');(function fn(str) {console.log(str+'欢迎你~');}('行路易知难'));
详情见官网:IIFE(Immediately Invoked Function Expression)