javascript - for循环和执行顺序

标签 javascript loops for-loop

我有一个 for 循环,后面跟着一行代码(来自 mocha 的 done 语句)。

会不会出现循环还没完成就执行了done()的情况?对于这样的场景,javascript 中的执行顺序是如何工作的?

for (let i=0; result.length < i; i++) {
  assert.equal(result[i].priority, 6);
}
done();

最佳答案

在循环“完成”之前永远不会调用 Done。但是“完成”的定义在你的循环中看起来很奇怪。

for循环应该是

for(let i=0; i < result.length; i++){
    assert.equal(result[i].priority, 6);
}

当您只使用 result.length 时,如果 result 包含任何内容,它将完全跳过循环,因为正数是真值。

关于javascript - for循环和执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340946/

相关文章:

ruby - ruby 中的循环、数组和文件问题

java - Android Activity会关闭Looper&Handler吗?

javascript - Imacro - 滚动到页面底部的 Javascript 条件

javascript - 为什么直接在对象文字上访问属性会抛出 SyntaxError?

javascript - 如何检查 div 的第一个 child 是否处于事件状态

c - 为什么遍历 100 亿比 10 亿花费的时间长得多?

Linux 生成文件 : How to exit for loop early with error message

c++ - For vs While 用于查找链表中的最后一项

javascript - VueJS : How to pass props while redirecting

javascript - 我可以将图像捆绑到一个网页文件中吗?