javascript - 我从 Javascript 中的 For Loop 函数中得到错误

标签 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();

它显示类似“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/

相关文章:

javascript return true 或 return false 什么时候用,怎么用呢?

javascript - javascript 中类似代码块的输出有何不同

javascript - Vue.js 组件彼此不独立

javascript - 从 ASP.NET 1.1 转换为 ASP.Net 3.5 后,单选按钮停止工作

javascript - 如何引用 JavaScript 函数内的不同位置

javascript - 两个 div 堆叠在一起——底部 div 上的链接不可点击

javascript - d3 + 主干 : updating elements for which data has changed

javascript - 点击按钮,显示div内容,隐藏其他 - JS

javascript - 从 Canvas 元素制作图像

javascript - 在其他函数中作为参数传递的函数被乘法触发