自定义函数返回正确的结果,也未定义。这是为什么?

时间:2015-01-20 13:39:02

标签: javascript

我正在研究我的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();

我不明白为什么,如果结果正确,我会得到一个未定义的警报。

你能帮帮我吗?

2 个答案:

答案 0 :(得分:7)

i <= Intel.length

数组是零索引,因此您使用=

读取的数据太多了

将其更改为以下内容,您将无法获得未定义的

for (var i = 0; i < Intel.length; i++) {

答案 1 :(得分:3)

因为您正在运行循环直到i <= Intel.length

应为i < Intel.length

数组索引从0开始,因此结束时只有一个小于数组的长度。