Module模式的基本特征
- 1.模块化,可重用
- 2.封装了变量和function,和全局的namaspace不接触,松耦合
- 3.只暴露可用public的方法,其它私有方法全部隐藏
基本用法
var module = function(){
//定义私有变量
var _x = arguments[0];
var _y = arguments[1];
//定义私有方法
function _add(a, b){
return a + b;
}
function _sub(a, b){
return a - b;
}
//暴露共有变量和方法
return {
x: _x,
y: _y,
add: _add,
sum: _sub
}
}
//调用
var m = new module(10, 20);
console.log(m.x, m.y);
console.log(m.add(1, 2));