javascript中的循环语句未按预期运行
下面的代码将只执行一次alert语句,然后中断。例如,i=2000,如果达到条件,我希望打印4次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);
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