js 闭包
<script>
// 闭包可以使一个函数的变量很长时间内停留在内存中
// 在一个函数内部使用变量,但是这个变量在函数外面使用,用到闭包。
// 闭包不能随便使用,因为使用闭包,在函数内部的变量在内存中停留的时间过长,这样内存消耗比较大。
// 在a 函数中定义的b函数,在外面,b函数是访问不到的。
function a(){
var i = 0;
function b(){
i++;
return i;
}
return b;
}
var c = a();
alert(c());
// 闭包的范式:
(function(){
})();
// 例一:
(function(){
alert("coreWars");
})();
// 例二:
(function($){
$.fn.helloWorld = function(){
aa();
bb();
return {
cc:function cc(){ //公有方法
alert("cc");
},
dd:function dd(){ // 公有方法。
alert("dd");
}
};
}
function aa(){ //私有方法,在闭包的外面,直接访问aa()方法是访问不到的。
alert("aa");
}
function bb(){ //私有方法。
alert("bb");
}
})(jQuery);
aa(); // 直接访问私有方法aa()是访问不到的。
var pubFunction = $("*").helloWorld();
pubFunction.cc(); // 这个公有方法cc() 是可以直接 访问的。
</script>

浙公网安备 33010602011771号