JavaScript For 循环 - 执行终止条件

标签 javascript

我正在查看 ExtJs 文档中 Ext 对象的源代码 here我注意到这个 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 ( ; ; ) 任何有效的表达式(或逗号分隔的表达式列表)都可以放入分号之前、之间和之后的三个槽中的任何一个中。

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

关于JavaScript For 循环 - 执行终止条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28641430/

相关文章:

javascript - angular2 xhrfields withcredentials true

javascript - 如何检查 asp :Checkbox is checked and show or hide It using javascript?

javascript - 在 Angular2 中通过服务向组件添加 css,这可能吗?

javascript - 使用 React 并使用相同组件处理不同 HTML 结构的方法

javascript - 在断开连接的状态下运行(移动)网络应用程序?

javascript - 了解 timer.js 中的 return this

javascript - knockout : show HTML - fill HTML

javascript - 如何在Firefox Web扩展中使用cloneInto?

javascript - 如何以编程方式修改 UIWebView 中的 JavaScript?

Javascript 将对象插入特定索引