1. 程式人生 > >Javascript 定義名稱空間,減少全域性變數汙染

Javascript 定義名稱空間,減少全域性變數汙染

建立名稱空間

1、每個js檔案都採取“立即執行函式(IIFE)”來建立名稱空間

2、程式執行時該js檔案只會產生一個全域性變數(object型別)

3、需要對外公佈的屬性和方法在return內定義,這樣能有效保護內部變數和內部方法不被外部隨意改變和呼叫。

Javascript示例:

//1.js 該檔案有建立名稱空間
var hello1 = (function () {
    var hello1 = function () {
        alert(1);
    };
     var hello1str = 'i am hello1';
    return
{ hello1: hello1, hello1str: hello1str }; })();
//2.js : 該檔案沒建立名稱空間,執行時會產生2個全域性變數 
var hello2 = function () { 
    alert(2); 
};
var hello2str = 'i am hello2';

chrome除錯效果:

這裡寫圖片描述