这是一个标准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
抱歉浪费你的时间:(
答案 0 :(得分:0)
是。循环简单地由三个表达式组成,每个表达式在循环迭代期间的特定时间执行。表达式可以或不可以做什么没有实际限制,尽管第二个表达式通常应该返回一个布尔值。
第一个表达式是在第一次触发循环时执行的,用于初始化变量。最常见的示例是i = 0
,但您几乎可以执行任何操作(i = 'a'
也能正常工作,或counter.reset()
)。
第二个表达式在每次迭代之前执行,如果返回false,将阻止循环再次运行。最常见的示例是i < n
,但您可以使用i.length < n
或counter.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
的第一部分允许任何表达。