javascript中的循环语句不符合预期

时间:2014-03-21 02:55:08

标签: javascript

下面的代码只会执行一次alert语句,然后才会中断。例如i = 2000我期待它被打印4次才能达到条件。

var i = str.value;

for (i; i <= 2400; i += 100) {
    alert(i);
}

1 个答案:

答案 0 :(得分:5)

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

i += 100

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

console.log('2000' + 100);
# 2000100

将大于2400

console.log('2000100' > 2400);
# true

因此,您应该将i转换为整数,例如

var i = parseInt(str.value, 10);

通过该更改,输出变为

2000
2100
2200
2300
2400