立即调用函数表达式
2018-05-16 本文已影响0人
樱木夜访流川枫
概览
立即调用函数表达式(IIFE:immediately invoked function expression)。
内容
1 语法形式
(函数声明)()
2 普通函数调用与立即调用函数表达式
// 普通函数调用
function foo() {
// todo
}
foo() // 普通函数调用
// 立即调用函数表达式
(function foo() {
// todo
})()
结论:立即调用函数表达式与普通函数调用本质上一样的,都是使用 ()执行在它之前的函数引用。
3 用处
防止全局变量污染:立即调用函数表达式内部可以封装变量,防止向外污染。
4 扩展
(function声明)() :如果第一个括号内部不是一个函数声明,抛出一个类型错误。