2012-06-29 74 views
2

在我的html代碼中,我需要一個全局數組,我在整個應用程序中使用它。如何創建和初始化在JavaScript全局數組變量..如何在javascript中聲明和初始化全局數組

+2

'window.arrayname = [];'或'var arrayname = [];'(在全局範圍內)。 –

+0

我想在函數中聲明全局數組,我沒有使用var關鍵字嘗試它,但它不讀取該變量。 – user25

+0

您確定在嘗試讀取數組之前初始化數組嗎? –

回答

0

在瀏覽器中,你可以使用窗口對象附加對象全局範圍:

window.myArray = ["foo", "bar"]; 

在Node.js的,你可以訪問全球範圍使用global對象。

+1

不需要拋出'Node.js'。考慮到這個問題,OP是一個新手JavaScript程序員。 –

+0

不要鼓勵它。隱式變量聲明使得代碼不易讀 - >更可能失敗。在[strict模式](https://developer.mozilla.org/en/JavaScript/Strict_mode)中,隱式變量聲明被禁止,並引發ReferenceError。 –

+0

_Implicit變量聲明_是什麼?沒有這樣的事情,你可能是指全局變量。沒有理由爲什麼會增加失敗的可能性,這是所有作者的責任。這不是最好的做法,但在很多情況下,它很好用,比如當你想在腳本的HTML頁面上提供一些JSON數據時,以避免額外的XHR。 – skrat

9

你能做到幾個方面:
在全球範圍內:

var arr = []; 

數組綁定到全局命名空間:

window.arr = []; 

,或者在其他環境中運行的代碼,全局對象不一定稱爲window

(function(global){ 
    global.arr = []; 
})(this);