【发布时间】:2012-06-22 02:51:42
【问题描述】:
我不知道如何最好地处理 JavaScript 中的 for 循环。希望了解for 循环将有助于阐明其他类型的循环。
示例代码
for (var i=0; i < 10; i=i+1) {
document.write("This is number " + i);
}
我的理解是,当i 被初始化时,它以0 的值开始,然后根据条件< 10 进行评估。如果小于10,则执行语句document.write("This is number + i);。一旦执行了前面的语句,只有在它才会将下一个值增加1。
我咨询过的指南:
- http://www.functionx.com/javascript/Lesson11.htm
- http://www.cs.brown.edu/courses/bridge/1998/res/javascript/javascript-tutorial.html#10.1
- http://www.tizag.com/javascriptT/javascriptfor.php
现在http://www.functionx.com/javascript/Lesson11.htm 的指南似乎另有说明,即
要执行这个循环,需要检查开始条件。这通常是 应该开始计数的初始值。接下来,条件 被测试;此测试确定循环是否应该继续。如果 测试呈现一个真实的结果,然后使用表达式来修改 循环和语句被执行。声明发布后 执行后,循环重新开始。
抛出我的行是“如果测试呈现真实结果,则表达式用于修改循环并执行语句”。这似乎暗示因为0小于10,增量表达式被修改为0 + 1和THEN语句,例如document.write 被执行。
我的问题
解释for 循环的正确方法是什么?我自己的理解正确吗?相同的理解是否适用于其他编程语言,例如PHP、Perl、Python 等?
【问题讨论】:
-
它应该像 C 和 Java 中的 for 循环一样工作。我猜最后一个来源是错误的?
-
here is a reference of how loops work。我知道链接的问题是关于 Java 但它们的工作方式相同。添加
continue语句时会有更多细微差别,但至少这是一个开始。 -
您对语言问题的主要参考应该始终为ECMA-262(请参阅Felix 的回答)。其他参考资料可能会有所帮助,但也可能包含错误和错误。
-
顺便说一句,您应该已经能够确认(或反驳)您的理解,只需执行此语句即可。你得到哪个输出? jsfiddle.net/UJsfL
-
P.S. functionx.com 是一个糟糕的资源。有例子调用变量
Number,,,
标签: javascript for-loop