国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 和政县| 涟源市| 临湘市| 永泰县| 长泰县| 齐河县| 开封县| 竹北市| 当涂县| 松阳县| 柳江县| 铜川市| 河北区| 额尔古纳市| 巴塘县| 芦山县| 衡山县| 阿荣旗| 彝良县| 上高县| 磴口县| 监利县| 潍坊市| 通海县| 东宁县| 彝良县| 府谷县| 天全县| 乡城县| 新余市| 蛟河市| 铁岭市| 四子王旗| 丰镇市| 通江县| 临城县| 武夷山市| 攀枝花市| 泗洪县| 灌阳县| 南康市|