簡體   English   中英

如何更好地在面向對象的javascript函數中定義全局變量

[英]How can I define a global variable in object-oriented javascript function better

假設我有一個功能:

function test(){

//should I define global variable here
//like window.arr=new Array()?

}

//can I define here
//window.arr=new Array()?

test.prototype.method01=function(){
//or here:window.arr=new Array()?
}

在上述三種方式中,哪種方式更好?

如果它是全局的,您很可能希望在函數之外定義它。 這是因為如果它是全局的,您希望任何/所有函數都可以訪問它。

JavaScript被解釋為它的內容。如果你在函數之外定義它,它將被聲明為它被解釋,如果在函數內部調用它,它將被聲明為函數被調用。

全局變量一般都是壞主意。 你能做的最好的事情是盡量減少它的影響。 創建一個全局變量,此變量將成為應用程序容器,例如:


var APP = {};

APP.my_array = [];

我建議你查看JavaScript:好的部分

您可以定義全局變量,上面的情況都很好。

但最大的區別是你必須調用函數來擁有該數組

除了第二種情況。

如果你要定義一個全局變量(開頭有點可疑,甚至全局變量應該是命名空間)不要在難以追蹤的地方做它 - 保持在頂層,沒有縮進,所以很容易發現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM