我已经看到有两种方法可以在javascript中实现模块化模式:
为了这个目的,我经常更多地看到使用函数而不是对象。
除了从外面隐藏一些私人功能之外,它还有什么好处吗?
使用自执行函数:(返回对象)
var Module = (function () {
var self = this;
self.init = function () {
self.someMethod();
};
self.someMethod = function () {
$('#demo').on('click', function(){
self.privateMethod();
});
};
self.privateMethod = function () {
console.log("aaa");
};
return {
someMethod: someMethod,
init:init
};
})();
Module.init();
使用对象文字
var Module = {
init: function(){
this.someMethod();
this.self = this;
},
someMethod: function(){
var self = this;
$('#demo').on('click', function(){
console.log(this.id);
self.anotherMethod();
});
},
anotherMethod: function(){
console.log("aa");
}
};
Module.init();