此循环有效:
var time;
for (time = 0; time < 5; time++) {
// Runs 5 times
console.log('Log');
}
但这不是:
var time;
for (time = 1490543999999999; time <= time - (518400000000 * 10) ; time = time - 518400000000) {
console.log('Log');
}
为什么?是因为数字太大了吗?那么如何解决这个问题?
答案 0 :(得分:0)
与第一个循环有两个不同之处:
由于您正朝着相反的方向行进,因此需要对循环条件进行相反的比较:>
而不是<=
。
当您更改 time 变量时,不能将其用作边界值。使用不同的变量 - 一个不会从初始值
var time, initTime;
for (initTime = time = 1490543999999999; time > initTime - (518400000000 * 10) ; time = time - 518400000000) {
console.log('Log');
}
或更好(避免重新计算限制):
var time, endTime;
for (time = 1490543999999999, endTime = time - 518400000000 * 10; time > endTime; time -= 518400000000) {
console.log('Log');
}