js中立即执行函数
//第一種寫法
(function(){ ...
})();
//第二種寫法
(function(){ ...
}());
立即執(zhí)行函數(shù)的作用!!!這是重點(diǎn)!!
立即執(zhí)行函數(shù)只有一個(gè)作用!!!
就是創(chuàng)建一個(gè)獨(dú)立作用域? ? 這個(gè)作用域里面的變量? ?外面是訪問不到的
下面是經(jīng)典面試題可以幫助您更好的理解
因?yàn)?JS 中調(diào)用函數(shù)傳遞參數(shù)都是值傳遞 ,所以當(dāng)立即執(zhí)行函數(shù)執(zhí)行時(shí),首先會(huì)把參數(shù) i 的值復(fù)制一份,然后再創(chuàng)建函數(shù)作用域來執(zhí)行函數(shù),循環(huán)5次就會(huì)創(chuàng)建5個(gè)作用域,所以每個(gè) li 元素訪問的都是不同作用域的 i 的值 。
立即執(zhí)行函數(shù)的作用和閉包一樣 都是 減少全局變量的使用
立即執(zhí)行函數(shù)只是一種函數(shù)執(zhí)行方式?
就是在函數(shù)聲明完立即執(zhí)行?
這類函數(shù)一般只執(zhí)行一次
調(diào)用完結(jié)束后會(huì)立即銷毀
不會(huì)占用內(nèi)存
總結(jié)
- 上一篇: 掌阅预告新款 iReader 电纸书:采
- 下一篇: git常见命令 的区分