javascript的对象建立模式---命名空间模式

javascript中对象的概念是很广泛的,对象是是对象,数组是对象,函数也是对象,字符串其实也是对象。常见的对象建立方法有对象字面量、构造函数建立。咱们先来看看对象的建立还有哪些更高级的模式。javascript

1、命名空间模式java

2、模块模式jquery

3、沙箱模式数组

4、链模式函数

 

命名空间模式spa

什么是命名空间模式咧?简单的说就是为了不出现过多的全局变量,将多个变量做为某一个全局变量的属性存在。对象

好比:blog

function brother1(){};
function brother2(){};

这样的两个函数直接做为了window的属性成为了全局变量,若是改为这样:ip

var parent={};
parent.brother1=function(){};
parent.brother2=function(){};

两个brother变成了一个全局变量的属性,保护了全局变量不被污染。字符串

命名空间模式的好处是:

一、减小全局变量污染,只创建一个全局变量,把其余的全部功能函数、变量放到这个全局变量下,适合库的创建,好比jquery。

二、组织代码更规范。

固然命名空间模式也有一些缺点:

一、更长的字符串名称,每一个变量和函数都须要有一个前缀,增长了代码的大小;

二、长嵌套意味着更长的属性解析时间。

通用命名空间函数

var MYAPP = MYAPP||{};
MYAPP.namespace=function(ns){
    var parts = ns.split("."),parent=MYAPP,i;
    if(parts[0]=="MYAPP"){
        parent=parts.slice(1);    
    }
    for(i=0;i<parts.length;i++){
        if(typeof parent[parts[0]]=="undefined"){
            parent[parts[i]]={};   
        } 
        parent=parent[parts[i]];   
    }

};
    
相关文章
相关标签/搜索