For 循环返回未定义的变量

For loop returns undefined variable

本文关键字:变量 未定义 返回 循环 For      更新时间:2023-09-26
var formobj = document.h1;
for (var j = 0; j < formobj.elements.length; j++) {
    if (formobj.elements[j].type == "radiobutton" && formobj.elements[j].checked) {
        var wholebase = formobj.elements[j].value;
    }
}

稍后在脚本中,变量设置为div的内部html,并标记为未定义。我的 for 循环中是否有缺陷?

没有类型 radiobutton ,我想你想要type == 'radio'

您的wholesale变量是在内部范围内定义的。离开此范围后,变量将不再存在。在此处或此处阅读有关 Javascript 范围的信息。您可以像这样更改代码:

var wholebase = null; //<-- declare the variable here
var formobj = document.h1;   
for (var j = 0; j < formobj.elements.length; j++){
        if (formobj.elements[j].type == "radiobutton" && formobj.elements[j].checked){
        wholebase = formobj.elements[j].value;
    }
}