V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
minggeJS
V2EX  ›  JavaScript

全局变量外露问题,解决方案!!!!

  •  
  •   minggeJS · 2016-02-06 09:57:52 +08:00 · 2845 次点击
    这是一个创建于 3221 天前的主题,其中的信息可能已经有所发展或是发生改变。
    JS 最忌什么,对了,就是全局变量外露,

    虽然火孤可以看到,能即时修正,


    而其他浏览器呢,如 IE678 ,根本没法看的,


    又或者,我们在编写 JS , JQUERY 插件时了,忘了加 var ,结果导致全局变量外露,因为不加 var 默认变量是全局的


    如果不能及时发现,那么情况就真不敢想像,结果就是整套代码沦为垃圾!


    而这个低级问题,尽管是 JS 牛人也会无意之中触犯


    那有没有办法解决这个问题呢,


    有的就是 monitorVar.JS


    monitorVar.JS 是原生 JS 敲写,专门给 JS 开发人员用来检测全局变量的


    这个程序是我很早前写好的,我的 minggeJS 开发时就是用他来检测的

    演试: http://www.shearphoto.com/monitorVar/

    下载: http://pan.baidu.com/s/1i4uDSXZ
    用法很简单

    monitorVar({

              container:window,  //还可以检测其他容器

              timer: 2000,    //以定时器方式检测 有助即时反馈
        0 表不是启用定时器

            ignore: ["foo"]  //忽略的变量名称

    });


    foo.stop(); //stop 掉定时器检测

    *

    foo.test(); //启动检测,一般用于手动



    //大家都用来检测下自己的程序有没有外露全局变量吧

    monitorVar.JS 作者:明哥先生

    演试: http://www.shearphoto.com/monitorVar/

    下载: http://pan.baidu.com/s/1i4uDSXZ

     
    祝大家新年快乐!过年了......呜~~~~~~~~~~
    第 1 条附言  ·  2016-02-06 11:23:21 +08:00
    第 2 条附言  ·  2016-02-06 11:23:33 +08:00
    5 条回复    2016-02-28 17:38:57 +08:00
    Exin
        1
    Exin  
       2016-02-06 10:47:18 +08:00 via iPhone
    不明觉厉
    love
        2
    love  
       2016-02-06 13:18:48 +08:00
    看来都放假了,没有吐槽
    Mutoo
        3
    Mutoo  
       2016-02-06 13:52:04 +08:00
    使用 use strict; 禁止全局变量就好了。
    http://www.w3schools.com/js/js_strict.asp
    kirainmoe
        4
    kirainmoe  
       2016-02-06 14:47:30 +08:00 via Android
    火孤 hhhhhhhhh : )
    xuzicn
        5
    xuzicn  
       2016-02-28 17:38:57 +08:00
    babel+ES6+strict 解决你一切的困惑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2602 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:30 · PVG 12:30 · LAX 20:30 · JFK 23:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.