我正在研究我的JavaScript技能,并编写了一小段代码:
var Intel = ["a", "v", "f", "c", "s"];
if (Intel && Intel.constructor == Array) {
alert('correct');
} else {
alert("false");
}
alert(Intel.length);
function showThemAll() {
// this function will alert every single data of the table
for (var i = 0; i <= Intel.length; i++) {
//alert of the data
alert(Intel[i]);
}
}
showThemAll();
我不明白为什么,如果结果正确,我会得到一个未定义的警报。
你能帮帮我吗?
答案 0 :(得分:7)
i <= Intel.length
数组是零索引,因此您使用=
将其更改为以下内容,您将无法获得未定义的
for (var i = 0; i < Intel.length; i++) {
答案 1 :(得分:3)
因为您正在运行循环直到i <= Intel.length
。
应为i < Intel.length
数组索引从0开始,因此结束时只有一个小于数组的长度。