Javascript 即使循环尚未完成迭代,代码行是否也会运行?

Javascript 即使循环尚未完成迭代,代码行是否也会运行?,javascript,Javascript,正如标题所说。。。。function2()是在for循环完成迭代后运行还是在迭代完成之前运行 function1() { for () { <....> } this.function2(); } function1(){ 对于(){ } 这个函数是2(); } 一个简单的代码片段来测试这一点: 函数循环(){ 对于(变量i=0;i

正如标题所说。。。。
function2()
是在for循环完成迭代后运行还是在迭代完成之前运行

function1() {
    for () {
        <....>
    }
    this.function2();
}
function1(){
对于(){
}
这个函数是2();
}

一个简单的代码片段来测试这一点:
函数循环(){
对于(变量i=0;i<10;i++){
控制台日志(i)
}
职能2()
}
函数function2(){
console.log('done');
}

loop()
它不会与
for
循环同时运行:它在之后运行。JS本质上是同步的。是的,它确实在
for循环之后运行
只需添加一些
console.log()
s并测试它不它不会同时运行,因为,.map(),.reduce()和许多其他操作是同步的,并且阻塞了主线程它将始终在循环完成后运行,但是在循环内,可以启动异步调用,该调用将在调用
function2
之后运行,使其看起来好像在循环完成之前调用了函数一样。