JavaScript For循环 - 执行终止条件

时间:2015-02-21 02:36:27

标签: javascript

我在ExtJs docs here中查看了Ext对象的源代码,我注意到了这个for循环:

for (j = enumerables.length; j--;) {
    k = enumerables[j];
    if (config.hasOwnProperty(k)) {
        object[k] = config[k];
    }
}

因此,通常在for循环中,我们进行初始化,指定条件然后递增/递减计数器。我确实看到了一个初始条件和j--,它在每次迭代后递减计数器。但是,我无法弄清楚循环是如何终止的?我既没有看到任何条件,也没有break关键字来终止循环。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

j-- 循环条件,就是它将如何终止。尾随;)是缺失的增量/减量。

j--构造递减j并测试旧的未递减值为非零以决定是否继续循环。当j为零时,循环停止;在循环下面,j的值将为-1。

要查找的for循环的关键部分是分号 - for ( ; ; ) 任何有效的表达式(或以逗号分隔的表达式列表)都可以在分号之前,之间和之后的三个槽中的任何一个中进行。

循环初始值设定项位于(之后和第一个;之前。循环条件是两个; ;之间的表达式的值。循环后更新发布在最后;之后和)之前。