js高级_96、IIFE
IIFE
全称:Immediately-Invoked Function Expression(立即执行(调用)函数表达式,也称匿名函数自调用)
作用:
*隐藏实现(全局作用域不可访问其内部的方法或变量,除非故意暴露出去)
*不会污染外部(全局)命名空间
(function () { //匿名函数自调用
var a = 3
console.log(a + 3)
})()
var a = 4
console.log(a)
这样匿名函数里面的a不会影响到外面全局的a
*用它来编写js模块,也就是单独的js代码。
(function () {
var a = 1
function test () {
console.log(++a)
}
window.$ = function () { // 向外暴露一个全局函数,$是取的名字
return {
test: test
}
}
})()
$().test() // 1. $是一个函数 2. $执行后返回的是一个对象