1.匿名函数:
function(){};
你会发现单独运行一个匿名函数不符合语法要求报错,只需要给匿名函数包裹一个括号即可:
(function(){}); 或者箭头函数 (()=>{});
想要执行这个匿名函数需要在后面加一个括号:
(function(){})();
传参:(打印出来即为最后面括号传进去的参数;)
(function(res){
console.log(res)
})(res);
2.IIFE
/*
IIFE: Immediately Invoked Function Expression,意为立即调用的函数表达式,
也就是说,声明函数的同时立即调用这个函数。
IIFE的目的是为了隔离作用域,防止污染全局命名空间。
即下面aaa为IIFE
*/
/*
(function aaa(){
})();
(function aaa(res){
console.log(res);
})("hello"); // hello
上面这个就相当于下面,先声明,然后再调用执行;
function aaa() {};
aaa();
他有两种写法,效果一样:
1.(function aaa(){ })();
2.(function aaa(){ }());
*/