您的位置:首页 > Web前端 > JavaScript

关于改善js语言编程质量的个人小结之减少全局变量污染

2016-04-24 11:16 429 查看
Javascript的变量的scope是根据方法块来划分的,在函数外声明的都是全局变量。全局变量的不合理使用会给我们的编程带来很多头疼的问题,总结下什么时候用全局变量以及如何改善全局变量的使用。

定义一个全局变量有三种方式:在函数外执行var;直接添加一个属性到全局对象上;直接使用未经过声明的变量(隐式的全局变量)。全局变量是为了使用前无需声明而设计了全局变量,但是貌似在编程中忘记变量声明成了一个很普遍的现象,js让那些忘记声明的变量成为了全局变量导致了在程序中查找bug非常困难。

全局变量容易带来问题的原因是js对全局变量的依赖性。全局变量是在所有作用域中都可见的变量。全局变量在很小的程序中可能会带来方便,但是随着程序越来越大,它容易变得难以处理。因为一个全局变量可以被程序的任何部分在任意时间改变,是的程序的行为极大地复杂化。使用全局变量降低了程序的可靠性。

全局变量与局部变量的冲突:如果某些全局变量名与局部变量名一致,那么它们之间的冲突处理不好会导致问题,而且不好排查。全局变量削弱了程序的灵活性。

所以尽量可能得减少全局变量的使用,平时用到的方法主要有:

一、在程序中创建位置的一个全局变量,并定义该变量为当前应用的容器。吧多个全局变量都追加在一个名称空间下,显著江都与其他应用程度产生冲突的概率。

var My ={};My.name={"ww":"ee"}

二、使用匿名函数

(function()
{
var a=123,b="hello world";
})();

//b.js
(function()
{
var a,c="abc";
})();

三、尽量在函数体顶部声明可能用到的所有变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: