码迷,mamicode.com
首页 > Web开发 > 详细

*防止JS全局污染

时间:2017-04-30 17:15:28      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:中文   耦合性   之间   ini   targe   ack   耦合   ret   blank   

javaScript 可以随意定义保存所有应用资源的全局变量。但全局变量可以削弱程序灵活性,增大了模块之间的耦合性。
在多人协作时,如果定义过多的全局变量 有可能造成全局变量冲突,也就是全局变量污染问题,以下是两种解决办法

一.定义全局变量命名空间
只创建一个全局变量,并定义该变量为当前应用容器,把其他全局变量追加在该命名空间下

var person1={
    name:‘jacksplwxy‘,
    language:‘中文‘,
    intro:function(){
        console.log(‘我的名字是:‘+this.name);
    },
    speak:function(){
        console.log(‘我能说:‘+this.language);
    },
    init:function(){
        this.intro();
        this.speak();
    }
};
person1.init();

更多实例可查看这里

 

二 . 利用匿名函数将脚本包裹起来

var person2=(function(){
    var name=‘jacksplwxy‘;
    var language=‘中文‘;
    var intro=function(){
        console.log(‘我的名字是:‘+name);
    }
    var speak=function(){
        console.log(‘我能说:‘+language);
    }
    return function(){
        intro();
        speak();
    }
})();
person2();

或者

var person3=(function(){
    var name=‘jacksplwxy‘;
    var language=‘中文‘;
    var intro=function(){
        console.log(‘我的名字是:‘+name);
    }
    var speak=function(){
        console.log(‘我能说:‘+language);
    }
    return {
        init:function(){
            intro();
            speak();
        }
    }
})();
person3.init();

 

*防止JS全局污染

标签:中文   耦合性   之间   ini   targe   ack   耦合   ret   blank   

原文地址:http://www.cnblogs.com/jacksplwxy/p/6789627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!