javascript中的循环语句未按预期运行

javascript中的循环语句未按预期运行,javascript,Javascript,下面的代码将只执行一次alert语句,然后中断。例如,i=2000,如果达到条件,我希望打印4次 var i = str.value; for (i; i <= 2400; i += 100) { alert(i); } var i=str.value; 对于(i;i如果str.value的类型是字符串,那么它将第一次执行,下一次将失败,因为 i += 100 将100作为字符串连接到2000,而不是添加。您可以这样检查 console.log('2000' + 100);

下面的代码将只执行一次alert语句,然后中断。例如,i=2000,如果达到条件,我希望打印4次

var i = str.value;

for (i; i <= 2400; i += 100) {
    alert(i);
}
var i=str.value;

对于(i;i如果
str.value
的类型是字符串,那么它将第一次执行,下一次将失败,因为

i += 100
100
作为字符串连接到
2000
,而不是添加。您可以这样检查

console.log('2000' + 100);
# 2000100
var i = parseInt(str.value, 10);
这将大于2400

console.log('2000100' > 2400);
# true
因此,您应该将
i
转换为整数,如下所示

console.log('2000' + 100);
# 2000100
var i = parseInt(str.value, 10);
有了这种变化,输出就变为

2000
2100
2200
2300
2400

如果
str.value
的类型是字符串,那么它将第一次执行,下一次将失败,因为

i += 100
100
作为字符串连接到
2000
,而不是添加。您可以这样检查

console.log('2000' + 100);
# 2000100
var i = parseInt(str.value, 10);
这将大于2400

console.log('2000100' > 2400);
# true
因此,您应该将
i
转换为整数,如下所示

console.log('2000' + 100);
# 2000100
var i = parseInt(str.value, 10);
有了这种变化,输出就变为

2000
2100
2200
2300
2400