即时函数(也称自执行匿名函数、自调用匿名函数)
一般可以这么写:
1 //我喜欢这种 2 (function(){ 3 4 5 })(); 6 7 (function(){ 8 9 10 }()); 11 12 !function(){ 13 14 15 }();
即时函数被定义后会被立刻执行,javascript通过函数提供作用域,所以包含在里面的代码都属于函数内部的,里面定义的变量不会跟全局变量起冲突。
即时函数的参数:
1 //我们可以给即时函数传递值进去 2 (function(a,b){ 3 4 console.log(a,b); 5 6 })(‘hellow‘,‘javascript!‘); 7 8 //所以我们可以这样, 9 10 (function(global){ 11 //此时 global为window对象 12 console.log(global===window); 13 14 })(window); 15 // 或者 16 (function(global){ 17 //此时 global为window对象 18 console.log(global===window); 19 20 })(this); 21 22 //通过这样的方式 23 //我们访问window对象的时候,不需要回到顶层作用域链,加快访问。