JavaScript 全局變量
■知識點
定義全局變量有以下3種方式。
在任何函數(shù)體外直接使用var語句聲明。
Var f = 'value';
直接添加厲性到全局對象上。在Web瀏覽器中,全局作用域?qū)ο鬄閣indow。
window.f = 'value,;
直接使用未經(jīng)聲明的變量,以這種方式定義的全局變量被稱為隱式的全局變量。
f ='value';
■實例設(shè)計
在腳本中創(chuàng)建一個全局變量,作為當(dāng)前應(yīng)用的唯一接口,然后通過對象直接量的形式包含所有應(yīng)用程序變量。
var MyAPP = {}; //定義APP訪問接口
MyAPP.name = { //定義APP配置變量
"id" : "應(yīng)用程序的ID編號”
};
MyAPP.work = {
num : 123, //APP計數(shù)器等內(nèi)部屬性
sub : { name : "sub_id " }, //APP應(yīng)用分支
doing : function () { //具體方法
//執(zhí)行代碼
}
};
把應(yīng)用程序的所有變量都追加在該唯一名字空間下,降低與其他應(yīng)用程序相互沖突的概率,應(yīng)用程序也會變得更加容易閱讀。
也可以使用函數(shù)體封裝應(yīng)用程序,這是最常用的一種方法。
(function(window){ //定義APP訪問接口
var MyAPP = {};
MyAPP.name = { //定義APP配置變量
"id":"應(yīng)用程序的ID編號"
};
MyAPP.work = {
num : 123, //APP計數(shù)器等內(nèi)部屬性
sub : { name : "sub_id ’’ }, //APP應(yīng)用分支
doing : function () { //具體方法
//執(zhí)行代碼
}
};
window.MyAPP; //對外開放應(yīng)用程序接口
})(window)
在JavaScript函數(shù)體內(nèi),所有聲明的私有變量、參數(shù)、內(nèi)部函數(shù)對外都是不可見的,如果不主動放開,外界是無法訪問內(nèi)部數(shù)據(jù)的,因此使用函數(shù)體封裝應(yīng)用程序是最佳實踐。
點擊加載更多評論>>