定义、
立即执行函数是一种语法,可以让函数在定以后被立即执行
立即执行函数的组成
- 定义一个函数
- 将整个函数包裹在一对括号中,将函数声明转为表达式
- 在结尾加上一对括号,让函数立即执行
代码示例
(function () {
console.log("app")
})()
作用
- 页面加载完成后只执行一次的设置函数
- 将设置函数中的变量包裹在局部作用域中,不会泄露成全局变量
传参
代码示例1
(function (who) {
console.log('I am '+who)
}('wangcai'))
代码示例2
(function (obj) {
console.log(obj)
})(this)
通常,全局变量作为一个参数传递给立即执行函数,这样即使函数内部不使用window也可以被访问到。
注意
通常不应该给立即执行函数传递太多参数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。
返回值
var num = (
function () {
return 4
}
)()
console.log(num);
像其他函数一样,立即函数也能返回值并且可以赋值给其他变量
立即执行函数的作用:
不破坏污染全局的命名空间