我在这里查看 ExtJs 文档中Ext
对象的源代码,我注意到这个for
循环:
for (j = enumerables.length; j--;) {
k = enumerables[j];
if (config.hasOwnProperty(k)) {
object[k] = config[k];
}
}
因此,通常在for
循环中,我们必须进行初始化,指定条件,然后递增/递减计数器。我确实看到了一个初始条件和j--
,它在每次迭代后都会减少计数器。但是,我无法弄清楚的是循环将如何终止?我既没有看到任何条件,也没有break
关键字可以终止循环。
我在这里错过了什么?
j--
是循环条件,这就是它的终止方式。 尾随;)
是缺少的增量/递减。
j-- 构造两个递减 j 并测试非零的旧未递减值,以决定是否继续循环。 当 j 为零时,循环停止;在循环下方,j 的值将为 -1。
要查找的 for 循环的关键部分是分号 -- for ( ; ; )
任何有效的表达式(或逗号分隔的表达式列表(都可以放在分号之前、中间和之后的三个插槽中的任何一个。
循环初始值设定项在(
之后和第一个;
之前。 循环条件是两个; ;
之间的表达式的值。 循环后更新在最后一个;
之后和)
之前。