JavaScript:For循环不运行?

JavaScript:For循环不运行?,javascript,for-loop,Javascript,For Loop,为什么for循环不运行 错误控制台为空 函数countfiles返回一个整数 parseInt(countfiles())也不起作用 这是我的代码: function set_default_value() { var element = document.getElementsByName('fields'); for (var i = countfields(); i < element.length; ++i) { element[i].value

为什么for循环不运行

  • 错误控制台为空
  • 函数
    countfiles
    返回一个整数
  • parseInt(countfiles())
    也不起作用
这是我的代码:

function set_default_value() {
    var element = document.getElementsByName('fields');
    for (var i = countfields(); i < element.length; ++i) {
        element[i].value = "default";
    }
}
改变

countfields()函数中。您在for循环中声明的
field\u计数器
是错误的

function countfields() {
    var field_counter = 0;
    for(var i = 0; i < 50; i++) {
        if(typeof document.getElementsByName('other_fields')[i] != "undefined") {
        var field_counter = field_counter + 1; } }
    return field_counter; }
如果您测试countfields(),它应该始终返回0


还可以尝试执行
console.log(elements)
@varunachar在他的一条评论中提到了这个问题:

在这方面:

for (var i = countfields(); i < element.length; ++i)
for(var i=countfields();i
把这个
i
读成“只要
i
小于
element.length
,就做些事情”。或者,如果
countfields()
等于或大于,则不会发生任何事情

1
其他字段
:工作

6
other_fields
:是否不起作用

我将提供
countfields()
的源代码以及相关的标记
countfields
返回的数字可能大于
元素。长度
countfields()返回什么,并粘贴html结构的一些片段是,也许countfields()大于element.lengthIs countfields()>=element.length?这看起来确实不正确,但在JavaScript中它仍将以相同的方式工作。
        field_counter = field_counter + 1; 
function countfields() {
    var field_counter = 0;
    for(var i = 0; i < 50; i++) {
        if(typeof document.getElementsByName('other_fields')[i] != "undefined") {
        var field_counter = field_counter + 1; } }
    return field_counter; }
field_counter = field_counter + 1; 
for (var i = countfields(); i < element.length; ++i)