Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的For循环函数出错_Javascript - Fatal编程技术网

Javascript中的For循环函数出错

Javascript中的For循环函数出错,javascript,Javascript,这是一个调用SELECT元素值的函数。但我面临一个错误。 代码在这里 function get_s_val(){ var foo = all_categories_1; var ov1 = ""; for(m=0;m<=foo.length;m++){ ov1 += foo[m].value+','; } console.log(ov1); var tme=setTimeout("get_s_val()", 1000); } get_s_val();

这是一个调用SELECT元素值的函数。但我面临一个错误。 代码在这里

function get_s_val(){
var foo = all_categories_1;
var ov1 = "";

    for(m=0;m<=foo.length;m++){
        ov1 += foo[m].value+',';
    }

console.log(ov1);
var tme=setTimeout("get_s_val()", 1000);
}
get_s_val();

我不知道我在哪里写的代码是错误的。

修改循环条件,使其在迭代器小于数组长度时运行,否则在索引
foo.length
中点击不存在的元素时,您将得到
未定义的

for(var m=0;m<foo.length;m++){
    ov1 += foo[m].value+',';
}

for(var m=0;m在
for
循环的顶部,
mWhy不使用
var
作为循环变量,为什么要将字符串传递给
setTimeout
?所有类别实际上是什么?@soundar:all\u categories\u 1是一个HTML选择元素。谢谢Karim。它可以工作。但是告诉我一件事,就是“==”使用错误的东西。如果你想迭代数组的所有元素,那么是的。数组的第一个元素位于索引
0
,因此最后一项位于
元素总数-1
。希望这是清楚的。yeh Karim,我知道这条规则。但我刚才知道问题出在哪里。非常感谢。感谢pimvdb的回复谢谢Hammerite的回答。
for(var m=0;m<foo.length;m++){
    ov1 += foo[m].value+',';
}
function get_s_val(){
    var foo = all_categories_1;
    var ov1 = "";

        for(var m = 0; m < foo.length; m++){ // use var, and only loop from e.g.
                                             // 0 to 2 when the length is 3, so <,
                                             // not <=
            ov1 += foo[m].value+',';
        }

    console.log(ov1);

    setTimeout(get_s_val, 1000); // don't use a string, just pass the function.
                                 // Plus, the variable is nowhere accessible so
                                 // you can drop storing it
}

get_s_val();
console.log(foo.join());