/**
* 闭包:使外部不能改变其属性或调用其方法,可以理解为js中私有化属性或方法的形式
* 范式
* ()()
* 第二个括号为实参
* 第一个参数为一个函数,函数的参数为形参,在匿名函数中所有的方法都可以使用
*
* 下面的写法的好处
* 1、可以让一些函数私有化
* 2、可以让一些函数公开化
* 3、在匿名函数中声明的属性,在外部访问不到
* 总结:实际上就是通过赋值给window将函数传出去,以达到公开效果
*/
(function(window){
function A(){
return{ //批量公开:返回一个JSON对象公共内部属性
C:C,
D:D
};
}
function B(){
}
function C(){ //要求公开
alert("dsf");
}
function D(){ //要求公开
alert(this);
}
window.A=A;
//通过该方式可以让一个函数成为一个公开函数
})(window);
var json = window.A();
json.C();
json.D();