这是一个调用 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();
它显示类似“Uncaught TypeError: Cannot read property 'value' of undefined”的错误
但是当我做一些小小的改变时它会起作用..就像
function get_s_val(){
var foo = all_categories_1;
var ov1 = "";
//for(m=0;m<=foo.length;m++){
ov1 += foo[0].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+',';
}
...并且始终使用 var
关键字声明变量,否则会发生不好的事情,JSLint 会提示它(这是正确的,但这是另一个话题)。
关于javascript - 我从 Javascript 中的 For Loop 函数中得到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928518/