JavaScript:For循环不运行?
为什么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
- 错误控制台为空
- 函数
返回一个整数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其他字段
:工作
6other_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)