2015-02-07 114 views
0

我有一個項目,顯示美國7個最大的州,將每個單獨的狀態存儲在變量中,並使用javascript在頁面上顯示。Uncaught TypeError:無法讀取未定義的屬性'0'

我的新代碼如下所示:

<script> 
var states = ["Alaska", "Texas", "California", "Montana", "New Mexico", "Arizona", "Nevada"]; 
var miles = [663267, 268581, 163696, 147042, 121589, 113998, 110561]; 
var index= ""; 
text=""; 
function listStates() { 
    for (index=0; index < states.length; index++) { 
      text += "<tr><td>" + states[index] ;  
      text += "</td><td>" + miles[index] ; 
      text += "</td></tr>"; 
    } 
    return text; 
} 
</script> 

而且我使用這一個

<section id="table"> 
<table width="307" height="45"> 
<tr><th width="40">Name</th><th width="65">Size</th></tr> 
<script> 
<!-- 
    var result = listStates(); 
    document.write(result); 
//--> 
</script> 
</table> 

回答

0

JavaScript使用+作爲字符串連接,而不是.。 在每個循環的開始處,您還被重新分配了text變量,因此只有在返回最後一個值時纔會得到最後一個結果。

"<tr><td>Nevada</td><td>110561</td></tr>" 
+0

謝謝你非常感謝的人。我編輯了我原來的問題,向你展示了我的更新代碼,看看是否有更好的方法來實現這一點,更具體的顯示函數並將它寫入文檔@Aweary – 2015-02-07 04:26:15

1

串聯在JavaScript中使用+,不.顯示。嘗試+

您當前使用.的代碼將嘗試從字符串對象undefined中找到名爲states的屬性。現在代碼將從undefined中找到名爲'0'的屬性,並且它將失敗,因爲undefined不能具有任何屬性。

+0

謝謝......忘了那件事。它的PHP使用。作爲連接權? – 2015-02-07 04:14:29

+0

@MichalMcCaskle是的,你說得對。 :) – 2015-02-07 07:01:22

相關問題