2015-05-13 138 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);