在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ 為什么這段代碼會(huì)輸出0呢?感覺setInterval()像被跳過了一樣,好疑惑。

為什么這段代碼會(huì)輸出0呢?感覺setInterval()像被跳過了一樣,好疑惑。求解

這段代碼執(zhí)行后,控制臺(tái)直接輸出0,沒有先執(zhí)行setInterval()中的匿名函數(shù)
代碼如下:

        var div = document.getElementById("div");
        div.onclick = function() {
            var i = 0;
            var timer = null;
            timer = setInterval(function() {
                i++;
                console.log(i)
                if(i == 10) {
                    clearInterval(timer);
                }
            },300);
            if(i == 0) {
                clearInterval(timer);
                console.log(i);
            }
        }

clipboard.png
不得解呀!求大神解惑

回答
編輯回答
陌離殤
2017年11月13日 18:21
編輯回答
陌南塵

為什么你會(huì)覺得settimeout里的代碼應(yīng)該先執(zhí)行?

2018年2月8日 01:09
編輯回答
默念

你設(shè)定定時(shí)函數(shù)為300毫秒執(zhí)行,你感覺走你這一段會(huì)慢過300毫秒嗎?肯定是先輸出然后再等定時(shí)器觸發(fā)拉

2018年2月22日 12:49
編輯回答
不歸路

延遲操作會(huì)被加入到任務(wù)/異步隊(duì)列中,當(dāng)主線走完才執(zhí)行。

2018年5月18日 11:12