前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >js统一全局变量

js统一全局变量

作者头像
全栈程序员站长
发布2022-09-03 11:53:25
发布2022-09-03 11:53:25
4.7K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

前言:js中难免要用到全局变量,但是过多的全局变量会影响js的性能,在此我创造了一个统一全局变量的写法,只需要这一个全局变量即可

代码语言:javascript
代码运行次数:0
复制
/**
 * 全局变量管理器
 */
var overallManager = (function() {

	// 存储全局变量,闭包保护不受污染
	var overall = {};

	/**
	 * @param name
	 *            全局变量名称
	 * @param value
	 *            全局变量值
	 */
	return function(name, value) {
		// 首先保证有传参
		if (arguments.length == 0) {
			return null;
		}
		// 上一句已经保证至少传入一个name,这里保证name是String类型
		name = String(name);
		// 不传value为get方法
		if (value === undefined) {
			return overall[name];
		}
		// 传value为set方法
		overall[name] = value;
	};
})();

使用情况截图:

如果不知道某个名字的全局变量有没有被定义过,可以通过get方法判断其值是否为undefined,如图所示。

这样的话一个js用overallManager这一个全局变量就可以了。甚至可以把它放进基js,所有js都引它,可以通过不同js全局变量的变量名前面加上js文件名前缀的方式去有效避免全局变量名的重复,实现所有全局变量的大一统。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139960.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档