立即执行函数
先引入一篇文章:zhuanlan.zhihu.com/p/22465092
仔细阅读
是什么
- 声明一个匿名函数
- 马上调用这个匿名函数
作用
- 隐藏实现
- 不会污染外部(全局)命名空间
- 用它来编码js模块
- 总之:创建一个独立的作用域
练习
(function () { //匿名函数自调用
var a = 3
console.log(a + 3) //6
})()
var a = 4
console.log(a) //4
;(function () {
var a = 1
function test () {
console.log(++a)
}
window.$ = function () { // 向外暴露一个全局函数
return {
test: test
}
}
})()
$().test() // 1. $是一个函数 2. $执行后返回的是一个对象
// 输出2