javascript for循环可以从负数开始吗?

时间:2015-06-18 16:33:33

标签: javascript jquery loops for-loop

这是一个标准for循环:

for (i=0; i<=5; i++) {
    el.append('<span>' + i + '</span>');
}

这应该附加11个跨度,文本从-5到5,但这根本不起作用......

for (i=-5; i<=5; i++) {
    el.append('<span>' + i + '</span>');
}

是否可以从i = -5开始,例如?

在创建Fiddle期间发现拼写错误... i+= -5

抱歉浪费你的时间:(

2 个答案:

答案 0 :(得分:0)

是。循环简单地由三个表达式组成,每个表达式在循环迭代期间的特定时间执行。表达式可以或不可以做什么没有实际限制,尽管第二个表达式通常应该返回一个布尔值。

第一个表达式是在第一次触发循环时执行的,用于初始化变量。最常见的示例是i = 0,但您几乎可以执行任何操作(i = 'a'也能正常工作,或counter.reset())。

第二个表达式在每次迭代之前执行,如果返回false,将阻止循环再次运行。最常见的示例是i < n,但您可以使用i.length < ncounter.done()

第三个表达式在每次迭代时执行,旨在修改一些最终会停止循环的计数器。最常见的示例是++i,但您可以使用i = i + 'a'counter.next()

所有这些都是有效的循环:

for (var i = 0; i < 10; ++i) { ... }
for (var i = 'a'; i.length < 10; i = i + 'a') { ... }
for (counter.reset(); counter.done(); counter.next()) { ... }

答案 1 :(得分:-2)

是的,这是可能的,而且效果很好。

for (i=-5; i<=5; i++) {
   ...
}

相同
i=-5;
while (i<=5) {
   ...
} continue {
   i++
}

重点是for的第一部分允许任何表达。