2015-05-13 141 views
-1

我有一个JavaScript这样的:的Javascript全局变量空

var array = new Array(); 

function initialize() 
{ 
    array.push(1,2,3); 
} 

alert(array.length); 

为什么结果是零(0),它应该是三(3)。

+3

声明一个函数不调用它。你需要执行'initialize()'来实际执行该函数。 –

+0

或使用自动执行功能 – Downgoat

回答

4

你有一个函数中的推送代码,需要调用它来执行其内容。

在您的代码中,您正在创建一个数组和一个将3个值推送到该数组的函数,但函数从未被调用,因此数组长度将保持为零。

var aray = new Array(); 
 

 
function initialize() { 
 
    aray.push(1, 2, 3); 
 
} 
 

 
alert(aray.length); 
 
initialize(); // need to call the function to execute its contents 
 
alert(aray.length);