for循环中打印值的问题

时间:2011-06-26 09:59:10

标签: javascript jquery cordova

此代码示例与phonegap有关。我在for循环内打印时遇到问题。

知道为什么会这样吗?

var html = "<table id='tableData' border='1'><tr><td>ID</td><td>Data</td></tr>";
var len = results.rows.length;
for (var i=0; i<=len; i++){
    html += "<tr><td>" + results.rows.item(i).id + "</td>";
    html += "<td>" + results.rows.item(i).data + "</td></tr>";

}
html += "</table>";
$('#content').html(html);

1 个答案:

答案 0 :(得分:2)

您还没有说 问题,但这一行可能不正确:

for (var i=0; i<=len; i++)

您可能需要<,而不是<=

for (var i=0; i<len; i++)

...因为使用原始代码,i会从0转到len 包含,所以如果您有(比方说)五行,在最后一个循环中,您将尝试访问result.rows.item(5),这是第六个项,假设result.rows.item(0)是第一个项目(这将是相当标准的)。数组和集合要么来自0..length-1,要么来自1..length,具体取决于0..length-1,但这取决于result.rows是什么。