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