IIFE 萌新学习笔记
立即执行函数表达式(IIFE)
IIFE:Immediately-Invoked Function Expression(立即执行函数表达式)
一 常用写法:
//经常使用的写法
(function(){ //匿名函数 console.log(123) }())
//这样子也可以
(function(){ //匿名函数 console.log(123) })()
//也可以使用对象表达,但是这种情况下 最下面的()不能为空
var fn = (function(){
console.log(123);
}())
1 定义完成直接执行。
2 后面的小括号表示先执行哪一条。
3 执行顺序是先执行最后面的(),也就是自右边开始执行 例如:
(function(i){ // i = (3) console.log(i) }(3))
二 与闭包关系:
for(var i = 0 ; i< 6; i++){
(function (j) { // j = i
setTimeout(function () {
console.log(j)
},1000);
}(i))
}
console.log(i)
//输出结果
6,0,1,2,3,4,5