js统一全局变量

js统一全局变量      前言:js中难免要用到全局变量,但是过多的全局变量会影响js的性能,在此我创造了一个统一全局变量的写法,只需要这一个全局变量即可/***全局变量管理器*/varoverallManager=(function(){ //存储全局变量,闭包保护不受污染 varoverall={}; /** *@paramname *…

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

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

/**
 * 全局变量管理器
 */
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;
	};
})();

使用情况截图:

js统一全局变量

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android一键换机功能实现,不同品牌手机一键换机教程「建议收藏」

    android一键换机功能实现,不同品牌手机一键换机教程「建议收藏」我们正处于一个数码产品更新换代非常快速的时代,很多消费者会紧跟时代潮流,经常更换新手机,但是更换手机之后我们通常需要将旧手机里的数据进行转移,不同品牌之间的手机怎么进行一键换机呢?以安卓手机更换苹果手机转移数据为例:1、首先我们需要在安卓手机上安装“转移到iOS”APP,通过该应用我们可以将安卓手机的数据转移到新的苹果手机上2、确保安卓设备处于WiFi状态3、将安卓设备以及苹果设备连接电源4、设置…

    2022年5月9日
    239
  • IE8允许ActiveX控件设置

    IE8允许ActiveX控件设置IE11允许ActiveX控件设置在IE浏览器菜单栏,找到“Internet选项”,—》“安全”—》“Internet”—》“自定义级别”找到ActiveX控件相关信息。其他都改为启用对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本:提示下载未签名的ActicveX控件:提示下载已签名的ActicveX控件:提示允许script默认原设置

    2022年5月14日
    52
  • ABAP WDA

    ABAP WDA一、20181217-20181226笔记selection_options和alv 二、相关服务1、事务码:SICF默认SERVICE,执行。Service:default_host/sap/option/*default_host/sap/public/bc/*default_host/sap/bc/wdvddefault_host/sap/bc/webdynp…

    2022年7月12日
    20
  • 离别·伤

    离别·伤

    2021年12月13日
    52
  • java 设置代理服务器_网络代理

    java 设置代理服务器_网络代理importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.*;importjava.util.Base64;publicclassTest{publicstaticvoidmain(String[]arg…

    2022年9月10日
    2
  • 数组初始化的4种方式「建议收藏」

    数组初始化的4种方式「建议收藏」1.直接给每个元素赋值intarray[4]={1,2,3,4};2.给一部分赋值,后面的全部为0intarray[4]={1,2};3.由赋值参数个数决定数组的个数intarray[]={1,2};4.数组元素的值是随机分配的intarray[4]={};当初始化参数时,推荐使用intarray[4]={0};voidPrint(i…

    2022年7月18日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号