JavaScript尽量使用局部变量,而不使用全局变量

       JavaScript可以随意定义全局变量被整个程序的所有代码访问定义全局变量最大的问题是污染了命名空间不利于代码模块化,削弱了程序灵活性,增大了模块之间的耦合性。当然,这并不是说不提倡定义全局变量。相反,全局变量是必要的定义的模块也需要暴露一个全局变量供给其他代码调用。

       除此之外,全局变量一旦程序运行系统会分配一部分内存空间存储全局变量直到程序关闭全局变量才会释放而局部变量在子程序内工作完成便会自动释放能用局部变量用局部变量,不需要用全局变量不用全局变量

       为了避免全局名称空间被污染,减少全局变量数量,避免全局变量污染常用方法包括如下:

1.使用命名空间、对象字面量的方式

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

var myNameSpace = {
		self:{
			name: "Laoye",
			sex: "男"
		},
		friend:{
			name: "张三",
			sex: "男"
		}
};

2.利用闭包把所有变量封装私有变量,暴露接口与外部通信

(function() {
		var method = {};
		var name = 'Laoye';
		var sex = "男";
		method.getMyName = function() {
			return name;
		};
		method.getMySex = function() {
			return sex;
		};
		window.My = method;
})();
console.log(My.getMySex());		//男
console.log(name);		//""

命名空间相关文章:https://blog.csdn.net/Rao_Limon/article/details/88427749

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值