Javascript 定義名稱空間,減少全域性變數汙染
阿新 • • 發佈:2019-02-16
建立名稱空間
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';