js命名空間

本身常常用的一個js的命名空間的js,歡迎拍磚。可能寫得不夠完善,下面貼下本身的代碼。javascript

當多個單獨的模塊之間有關聯關係的時候,經過命命名空間來獲取比較能解決耦合度。java

 

(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;

})()
相關文章
相關標籤/搜索