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
之后运行,使其看起来好像在循环完成之前调用了函数一样。