码迷,mamicode.com
首页 > Web开发 > 详细

避免JS全局变量冲突

时间:2014-07-23 20:42:25      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   使用   strong   


一、原则
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);
})();

避免JS全局变量冲突,布布扣,bubuko.com

避免JS全局变量冲突

标签:style   blog   java   color   使用   strong   

原文地址:http://www.cnblogs.com/gossip/p/3859151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!