10-1.立即执行函数
立即执行函数
IIFE
(immediate invocked function expression):无需调用,直接运行,不需要函数名。立即执行函数是一个匿名函数(因为他立即就执行了,无需调用,不需要名字)
形式:前加
()
或!
或~
或+
或-
,后加()
格式:
//①括号形式
(function(){
console.log('我是一个立即执行函数');
})();
//!形式
!function (){
console.log("balabala");
}();
//~形式
~ function (){
console.log('~')
}();
//+形式
+ function (){
console.log('+')
}();
//-形式
- function (){
console.log('-')
}();
带参数的时候:
var boxs = document.querySelectorAll('.box');//获取html中类名为box的盒子
for( var i = 0; i < boxs.length; i++ ){
(function (a){//a是该立即执行函数的参数
boxs[a].onclick = function(){//onclick是点击事件
console.log(a);//点击后打印该数组的下标
};
})(i);//for循环一次就把自身的i赋给这个立即执行函数
};