首页 > 代码库 > 避免JS全局变量冲突
避免JS全局变量冲突
一、原则
1.1 用匿名函数将脚本包起来
1.2 使用命名空间(多级)
二、改进过程
2.1 原始数据(a.js和b.js都有全局变量window.a,导致冲突,全局变量属于window)
//a.js
<script type="text/javascript">var a=123,b="hello world";</script>//b.js<script type="text/javascript">var a,c="abc";</script>
2.2 使用匿名函数(a.js和b.js中的a都不是全局变量,但是b.js中无法访问a.js中的b,没办法通信)
//a.js(function(){var a=123,b="hello world";})();//b.js(function(){var a,c="abc";})();
2.3 使用全局变量进行通信(使用window.str作为全局变量,会导致全局变量越来越好,不好维护)
var str;//a.js(function(){var a=123,b="hello world";window.str=a;})();//b.js(function(){var a,c="abc";alert(window.str);})();
2.4 使用命名空间
var GLOBAL={};//a.js(function(){var a=123,b="hello world";GLOBAL.A.a=a;})();//b.js(function(){var a,c="abc";alert(GLOBAL.A.a);})();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。