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

鍍金池/ 問答/HTML/ 循環(huán)和定時器的問題

循環(huán)和定時器的問題

  1. 都知道如果在循環(huán)中設(shè)置一個定時器,用var且不將內(nèi)部函數(shù)改為立即執(zhí)行函數(shù)的情況下,會循環(huán)打印出5

         for(var i = 0;i<5;i++){
              setInterval(function(){
                  console.log(i,"i")
              },200);
          }
    結(jié)果:

    圖片描述

  2. 這種情況會一直打印出0、1、2、3、4、0、1、2、3....

      for(var i = 0;i<5;i++){
           (function(i){
              setInterval(function(){
              console.log(i,"i")
          },200);
          })(i)
      }
    結(jié)果:

    圖片描述

  3. 這種寫法只打印一次0、1、2、3、4,為什么?

    for(var i = 0;i<5;i++){
        setInterval(function(i){
            console.log(i,"i")
        }(i),200);
    }
    結(jié)果

    圖片描述

回答
編輯回答
何蘇葉

因為沒有callback

let a = function(i){
    console.log(i,"i")
}(i)

a;//undefined
2018年5月22日 23:53
編輯回答
伴謊

第三種是因為你傳入setInterval的第一個參數(shù)其實是一個函數(shù)的執(zhí)行結(jié)果,并不是一個函數(shù)

2017年11月19日 12:51