IIFE(Immediately Invoked Function Expressions)
专业术语为: IIFE (Immediately Invoked Function Expression) 立即调用函数表达式
作用
- 隐藏实现
- 不会污染外部(全局)命名空间
- 用它来编码js模块
//匿名函数自调用 IIFE
(function () {
var a = 3
console.log(a + 3)
})()
// 打印 a
var a = 4
console.log(a);
(function () {
var a = 1
function test () {
console.log(++a)
}
window.$ = function () { // 向外暴露一个全局函数
return {
test: test
}
}
})()
// 1. $是一个函数 2. $执行后返回的是一个对象
$().test()