我刚刚通过Titanium的Appcelerator开发应用程序,因此这也是我第一次使用Javascript。在引用数组值方面遇到了令人困惑的事情,我只是希望有人能够告诉我发生了什么。
基本上它可以归结为在尝试迭代tableView时,以下内容返回正确的值
tableView.data[i].rows[++j]
但是这总是返回undefined
tableView.data[i].rows[j+1]
有人可以向我解释一下吗?
编辑:这是我正在谈论的循环
for (i in tableView.data)
for (j in tableView.data[i].rows)
if ("undefined" !== typeof tableView.data[i].rows[j].children[1] && "undefined" !== typeof tableView.data[i].rows[j+1]) {
console.debug("i: " + i + " j: " + j)
} else
console.debug("undefined")
答案 0 :(得分:0)
j + 1移动到下一个应该写为(j + = 1)或j ++或更高版本后使用++ j j + 1将始终保持j被初始化为加1,因此在某些时候可能会出现过度或无限循环。