js命名空间
自己经常用的一个js的命名空间的js,欢迎拍砖。可能写得不够完善,下面贴下自己的代码。
当多个单独的模块之间有关联关系的时候,通过命命名空间来获取比较能解决耦合度。
(function(){ var arrayEach = Array.prototype.forEach ? function (obj, func) { Array.prototype.forEach.call(obj || [], func); } : function (obj, func) { for (var i = 0 , len = obj && obj.length || 0; i < len; i++) func.call(window, obj[i], i); }; /** * @description 命名空间 **/ var ns = function (name) { var part = global, parts = name && name.split('.') || []; arrayEach(parts, function (partName) { if (partName) { part = part[ partName ] || ( part[ partName ] = {}); } }); return part; }; window.namespace = ns; })()