浅谈Javascript模块化开发
自己接触过的几种javascript模块开发,由于水平有限,只能简单谈一谈。 立即执行匿名函数 由于javascript的函数作用域,将模块代码放入立即执行匿名函数中,防止污染全局变量。将需要对外提供的类或对象暴露到window对象中。 需要实例化的模块 定义 // mod1.js (function(window) { var defaultOpts = {}; // 外部传入一些配置选项,也可不传入以默认选项实现 var Module1 = function(options) { this.options = $.extend(true, {}, defaultOpts, options); this.init(); }; // 将需要对外提供的方法加到原型链上 Module1.prototype = { constructor : Module1, init : function() { this.initPage(); this.initEvent(); this.initOther(); }, initPage : function() { }, initEvent : function() { method1(); }, initOther : function() { }, getOne : function(){} // 其他需要对外提供的接口 }; //