js防止全局变量冲突
1.用匿名方法将脚本包起来,让变量的作用域控制在匿名函数之内。 (function(){})()
2.工程师甲和乙都有各自的匿名函数。但是两个脚本如何通信?可以在window作用域下定义一个全局变量,把它当作一个桥梁,完成匿名函数之间的通信。
var GLOBAL={};
(function(){
var a=123,b="hello world";
GLOBAL.str1 = a;
GLOBAL.str2 = b;
})();
//程序员在自己的匿名函数中获取全局变量
(function(){
var c = GLOBAL.str1;
})();
3.不同的工程师有各自的全局变量,有可能甲的全局变量会被乙的覆盖,可以引入命名空间。
<script type="text/javascript"> var GLOBAL = {}; </script> <script type="text/javascript"> var a=123,b="hello world"; GLOBAL.A={}; GLOBAL.A.str1 = a; GLOBAL.A.str2 = b; </script>
<script type="text/javascript"> var a=456,b="你好,世界"; GLOBAL.B={}; GLOBAL.B.str1 = a; GLOBAL.B.str2 = b; </script>

浙公网安备 33010602011771号