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