立即执行函数定义:此类函数没有声明,在一次执行过后释放.适合做初始化工作,执行完就被释放 但是它也有执行器上下文 生成作用域链
立即执行函数还是一个针对初始化功能的函数
官方给出的两种写法:
1.(function (){}()); W3C 建议第一种
2.(function (){})();
示例代码如下:
<script>
var num = (function (a, b, c) {
var d = a + b + c * 2 - 2;
console.log(d)
}(1, 2, 3));
// 只有表达式才能被执行符号执行;能被执行符号执行的表达式基本上就成了立即执行函数.
function test() {
var a = 132;
} //(); //语法解析错误
var test = function () {
var a = 132;
console.log(a)
} ();
! function test(){ //+ - ! && 和||(前面得放东西) 趋势上转化为数字 可以执行
console.log('a');
}();
function test(a,b,c,d){
console.log(a+b+c+d)
}(1,2,3,4);//不报错也不执行
</script>