立即执行函数是一种语法,可以函数在被定义后立即执行。
作用:
- 页面加载完成只执行一次
- 将函数中的变量包裹在局部作用域中,不会泄露为全局变量
(function() {
console.log('定义后我立马执行了')
})()
可以向立即执行函数传参,在其内部不使用window也可以被访问到(建议不要给它传过多参数,不方便阅读代码)
(function(num) {
console.log(`执行了${num}`)
})()
立即执行函数也能返回值并且可以赋值给其它变量。建议在使用完后,清除fn。否则容易造成内存泄露。
var fn = (function() {
var num = 9
return `我被调用了`
})()
console.log(fn)
fn = null