2011-09-20 45 views
1
具有

IM麻煩返回包含十進制值到一個變量數組:返回與十進制值的陣列中的JavaScript函數

function foo() { 
    var coords = new Array(39.3,18.2); 
    console.log(coords[1]); //successfully logs 18.2 
    return coords; 
} 

但隨後...

var result = foo(); 
alert(result[0]); 

即持續一個引發這個錯誤: Uncaught TypeError:無法讀取屬性'0'的未定義

+1

不應該是'alert(result [0])'?其他的一切看起來都很好 - 我會說你的代碼中存在其他問題。 –

+0

這不是問題。我糾正了這個問題。 – andufo

回答

2

至於提到的其他人,警告是一個函數,需要括號

alert(result[0]) 

那說,還有一些額外的注意事項:

1)使用數組文本的語法,而不是new Array

var coords = [1.23, 3.45]; 

及其更快和新陣列有一些邊緣情況。

2)大多數瀏覽器都有開發工具(通常可以通過F12進行搜索)。這使您可以使用更方便的console.log而不是alert。

+0

如果我需要在foreach循環中填充該數組,那該怎麼辦? – andufo

+0

@andufo:你如何創建數組需要做什麼?數組創建後,它們的工作原理是一樣的。 – hugomg

4

您需要將小括號圍繞警報函數的參數。

alert(result[0]); 
0

的問題是圍繞着警報statment缺少的括號

嘗試

alert (result[0]);