2012-06-29 140 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);