模块模式的主要思想,是为那些通过var关键字声明的标识符和函数创建一个私有作用域,只有定义在这个作用域里的函数才能直接访问这些数据。为了使外界能够访问到函数里的部分内容,我们有两个选择。
其一是返回一个包含选定值的对象,然后把这个对象赋给外界的变量;另一种则是给函数传入一个外部作用域可访问的对象作为参数,使该函数能在这个对象中写入自己的属性(如果想让它的属性成为全局属性,只需传入window对象)。
var obj = (function () {
var xx = (function () {
function yy() { }
return {
f:yy
}
})();
return {
zz: xx
}
})();
function myFunction() {
obj.zz.f();
}