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

2016-02-06 09:57:52 +08:00
 minggeJS
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

 
祝大家新年快乐!过年了......呜~~~~~~~~~~
2685 次点击
所在节点    JavaScript
5 条回复
Exin
2016-02-06 10:47:18 +08:00
不明觉厉
love
2016-02-06 13:18:48 +08:00
看来都放假了,没有吐槽
Mutoo
2016-02-06 13:52:04 +08:00
使用 use strict; 禁止全局变量就好了。
http://www.w3schools.com/js/js_strict.asp
kirainmoe
2016-02-06 14:47:30 +08:00
火孤 hhhhhhhhh : )
xuzicn
2016-02-28 17:38:57 +08:00
babel+ES6+strict 解决你一切的困惑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255613

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX