一. 避免js冲突
1. 使用匿名函数控制变量的作用域
(function(){})() 说明 前面的括号是定义一个函数,后面的括号是执行这个函数。包在匿名函数的变量作用域不再是window,而是局限在函数内部。
2. 匿名函数的通信
使用hash对象的全局变量作为匿名函数的通信桥梁,使用命名空间避免全局变量的冲突
var GLOBAL = {};
//命名空间函数
GLOBAL.nameSpace = function(str){
var arr = str.split(".");
var o = GLOBAL ;
for (i=(arr[0]=="GLOBAL")?1:0; i<arr.length; i++){
o[arr[i]] = o[arr[i]] || {}; //避免出现undefined的对象
o = o[arr[i]];
}
}
GLOBAL.nameSpace("BASE.NAME");
GLOBAL.nameSpace("COMMON.NAME");
GLOBA.BASE.NAME = "base";
GLOBA.COMMON.NAME = "common";
GLOBA.BASE.do = function(){}