JavaScript命名空间使用【模块化】【面向对象】

it2022-05-05  153

JavaScript命名空间使用

构建命令空间对象

// 声明一个全局对象Namespace,用来注册命名空间 Namespace = new Object(); // 全局对象仅仅存在register函数,参数为名称空间全路径,如"Grandsoft.GEA" Namespace.register = function(fullNS) { // 将命名空间切成N部分, 比如Grandsoft、GEA等 var nsArray = fullNS.split('.'); var sEval = ""; var sNS = ""; for (var i = 0; i < nsArray.length; i++) { debugger; if (i != 0) sNS += "."; sNS += nsArray[i]; // 依次创建构造命名空间对象(假如不存在的话)的语句 // 比如先创建Grandsoft,然后创建Grandsoft.GEA,依次下去 sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"; } if (sEval != "") eval(sEval); };

模块化思想调用命令空间注册

Namespace.register("order.controller"); //订单模块 Namespace.register("payment.controller"); //支付模块`` order.controller.refund=function(){}; //订单模块-退款模块 订单模块-退款模块-加载退款信息 order.controller.refund.prototype.load_refund=function(){ } //类似java创建对象实例 var refund = new order.controller.refund(); //调用函数(方法) refund.load_refund();

最新回复(0)