今天原本想要寫下其他的函數(shù)的,但是剛剛遇見一個函數(shù)此改,也就是setTimeout趾撵,這個函數(shù),之前一直有種寫法共啃,一直總覺得有點迷糊占调,相信大家會遇到過暂题,也就是說for循環(huán)里面弄個setTimeout,然后里面想要每隔1秒鐘輸出一個數(shù)字
????就把for循環(huán)里面的index輸出下,但是如果想要for循環(huán)里面直接寫一個定時器究珊,相信大家都可以弄出來薪者,但是結(jié)果就不是我們想要的了,因為是定時器執(zhí)行的時候我們的循環(huán)已經(jīng)執(zhí)行完了剿涮,所以到最后index只能是window的index了
????今天還看到一個for循環(huán)的寫法的一個文章啸胧,就是把for循環(huán)分成多種的寫法,看了這個應(yīng)該大家就知道index為啥是window的了
地址:
https://www.cnblogs.com/similar/p/9405983.html
????這個里面有好幾種幔虏,然后第四種的話就是屬于分解化的了纺念,從而得知,我們現(xiàn)在所使用的index本來就是屬于是window的想括,然后之前遇見過一次陷谱,具體的看了下setTimeout的使用,然后從mdn上看到setTimeout的參數(shù)瑟蜈,其實后面還是可以傳參的
????如果沒有看到過這個烟逊,我們普遍的方法,相信大家基本都會弄一個匿名函數(shù)铺根,然后直接執(zhí)行宪躯,從里面接受一個index參數(shù),這樣也可以解決這個問題位迂,就相當(dāng)于函數(shù)里面接收的index是屬于新的访雪,有作用域效果的
????所以這樣的寫法也是可以的:
????然后如果知道第三個參數(shù)后,基本就可以省去這樣的寫法了掂林,因為這樣的寫法臣缀,其實很難看,而且意思有點難懂泻帮,現(xiàn)在有第三個參數(shù)弄過來精置,基本就可以瞬間看懂了
????參數(shù)名基本都是一樣的,因為換成其他的感覺就亂了锣杂,里面的i脂倦,不管是哪里的,里面的東西都是一個元莫,這樣的寫法就相當(dāng)于加個匿名函數(shù)類似了
? ? 具體的語法是這樣的:
????然后這個是這樣的赖阻,同樣的,setInterval也是一樣的柒竞,語法和這個基本上算是一模一樣了
????所以以后如果有類似的東西政供,也就不用那么麻煩的寫個匿名函數(shù)傳參了
????好了今天就說到這里了,想到啥說啥,什么好用什么來