• 关于javascript中全局变量的利与弊,以及解决全局变量污染的方法


    定义全局变量的方法通常有

    a.

    var name="aaa";
    function test(){
      alert(name);  
    }
    

    b.

    name="aaa";
    function test(){
      alert(name);  
    }
    

    c.使用window定义全局变量

    window.name="aaa";
    function test(){
      alert(window.name);  
    }

    优点:可以减少变量的个数,使用方便简单。

    缺点

    1、生存周期长,越多消耗内存越大。

    2、不利于排查错误和调试

    3、多处使用同一变量,代码可读性低。变量个数越多,产生的污染也会增大,同时其存在重复性也会增大。

    解决污染的方法:

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

    var mm={};
    mm.name={
       big_name:"zhangsan",
       small_name:"lisi"
    };
    mm.work={
      school_work:"study",
      family_work:"we are"
    };
    

      

    b . 利用匿名函数将脚本包裹起来

    (function(){
      var exp={};
      var name="aa";
      exp.method=function(){
         return name;
      };
      window.ex=exp;
    })();
    alert(ex.method())
    

    以上有待详细补充。

    参考:

    http://www.bgpy.net/news_1312.html

    http://www.cnblogs.com/gooroc/p/5073400.html

  • 相关阅读:
    jekins安装
    Nginx启动、关闭命令
    win10启动docker desktop报错
    CSS设置背景图片
    Lucene 8.5.2核心API
    Lucene 8.5.2演示API
    html+css实现选项卡效果
    搞懂JavaScript全局变量与局部变量,看这篇文章就够了
    你不知道的CSS妙用,纯CSS实现炫酷照片墙
    JS中!function(){}()的理解
  • 原文地址:https://www.cnblogs.com/qijuzi/p/6932442.html
Copyright © 2020-2023  润新知