setTimeout 执行顺序案例理解,异步操作

测试代码 :

console.log("111111111111");
console.log("22222222222");
setTimeout(function () {
    console.log("333333333");
}, 100);
setTimeout(function () {
    console.log("444444444");
}, 0);
console.log("55555555");

输出顺序如下:

111111111111

22222222222

55555555

444444444

333333333

我的理解:因为js是单线程,当js代码中碰到异步操作时,会先跳过该操作,先执行下面的代码,完成后再执行。所以js碰到setTimeout()后尽管其间隔为0秒,还是会跳过该函数先往下执行,这样就会理解上面的输出顺序了。

猜你喜欢

转载自blog.csdn.net/qq_40015157/article/details/113880308