国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

js實(shí)現(xiàn)異步循環(huán)實(shí)現(xiàn)代碼

2024-05-06 16:28:22
字體:
供稿:網(wǎng)友
這篇文章主要介紹了js實(shí)現(xiàn)異步循環(huán)實(shí)現(xiàn)代碼,需要的朋友可以參考下
 

問題
實(shí)現(xiàn)異步循環(huán)時(shí),你可能會(huì)遇到問題。

讓我們?cè)囍鴮懸粋€(gè)異步方法,一次循環(huán)打印一次循環(huán)的索引值。

<script>for(var i = 0; i < 5; i++){setTimeout(function(){document.writeln(i);document.writeln("<br />");},1000);}</script>

如上程序的輸出為:





5

原因

每次時(shí)間結(jié)束(timeout)都指向原始的i,而并非它的拷貝。所以,for循環(huán)使i增長(zhǎng)到5,之后timeout運(yùn)行并調(diào)用了當(dāng)前i的值(也就是5)。

解決方法

有幾個(gè)不同的方式可以拷貝i。最普通且常用方法是通過聲明函數(shù)來建立一個(gè)閉包,并將i傳給此函數(shù)。我們這里使用了自調(diào)用函數(shù)。

運(yùn)行代碼

<script>for(var i = 0; i < 5; i++){(function(num){setTimeout(function(){document.writeln(num);document.writeln("<br />");},1000);})(i);}</script>

輸出

0
1
2
3
4



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿合奇县| 石屏县| 宜春市| 枣强县| 内丘县| 防城港市| 盐山县| 宣恩县| 崇明县| 汤原县| 阜南县| 定日县| 马公市| 宣城市| 南部县| 土默特右旗| 玉树县| 乐昌市| 广平县| 墨脱县| 贡觉县| 蕲春县| 永春县| 济阳县| 贵溪市| 贞丰县| 通山县| 洛扎县| 天津市| 博乐市| 砀山县| 盘山县| 阿拉善左旗| 宁都县| 喜德县| 云梦县| 昭苏县| 淮滨县| 伊川县| 黄大仙区| 抚松县|