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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python RPA 数据库篇6 – MySQL 篇 2 – 增删改查1

    PythonRPA数据库篇6-MySQL篇2-增删改查1pymysql查询数据#!/usr/bin/envPython3#-*-coding:utf-8-*-#@Software:PyCharm#@virtualenv:workon#@contact:1040691703@qq.com#@Desc:Codedescripton__author__=’未昔/AngelFate’__date__=’2019/8/2920:11’imp

    2022年4月8日
    56
  • Etcd学习(二)集群搭建Clustering

    Etcd学习(二)集群搭建Clustering

    2022年2月2日
    39
  • 雪崩效应 (密码学术语)

    雪崩效应 (密码学术语)雪崩效应(密码学术语)雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化,就像雪崩前,山上看上去很平静,但是只要有一点问题,就会造成一片大崩溃。可以用在很多场合对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。这个概念有点类似于蝴蝶效应。蝴蝶效应,说的是,指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应。说的是极少的变化引发的大变化。雪崩效应在服务器应用系统中,也同样存在,如…

    2022年7月13日
    21
  • 自监督学习详细介绍(学习笔记)

    自监督学习详细介绍(学习笔记)一、相关文献:fast.ai上面关于自监督学习的资料:Self-supervisedlearningandcomputervision.GitHub上面每年使用自监督学习的论文列表:AwesomeSelf-SupervisedLearning.相关微信推送二、自监督学习的介绍1.自监督学习的由来机器学习中基本的学习方法有:监督学习(supervisedlearning)、…

    2022年9月14日
    0
  • ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法

    ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法拿了一个旧项目,运行一下。控制台报错,具体错误信息如下:2018-04-0316:39:23,391ERROR[com.alibaba.druid.pool.DruidDataSource]-initdatasourceerror,url:jdbc:mysql://192.168.1.143:3306/public_platform?useUnicode=true&amp…

    2022年7月23日
    5
  • spdLog的使用

    spdLog的使用以下为收集到或者个人测试的内容,侵权删一.优点非常快使用自带的例子测试写log,利用次数/时钟周期衡量结果*******************************************************************************Singlethread,1,000,000iteration

    2022年6月23日
    66

发表回复

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

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