原文:js經典面試問題:如何讓for循環中的setTimeout()函數像預想中一樣工作?

setTimeout 是js中的一類重要函數,將一段代碼延遲一定時間並異步執行。但是這個函數經常不聽話。在實踐中,可能經常有人碰到類似下面的這種情況: 我們期望的結果是,先隔 毫秒彈出 ,再隔 毫秒彈出 。但是跑起來后,alert的兩次內容都是數字 ,而且緊挨着輸出,並不是自己所期望的先 后 。有一種很基礎的面試題是,如何合理改動代碼,使它返回期望的結果 其實很簡單。在stackoverflow上 ...

2017-02-18 10:10 0 19631 推薦指數:

查看詳情

淺談循環中setTimeout執行順序問題

淺談循環中setTimeout執行順序問題 (下面有見解一二) 期望:開始輸出一個0,然后每隔一秒依次輸出1,2,3,4。 結果:輸出5。 原因:setTimeout 使函數延遲1s執行,而for循環執行完成還不到0.1秒,到執行函數的時候,其實 i 已經 ...

Fri Apr 12 03:37:00 CST 2019 0 1365
for循環中setTimeout()

的任務【閉包函數setTimeout()中的函數開始執行,執行三次】。 for循環是遵循js執行機制 ...

Tue Sep 24 03:33:00 CST 2019 0 721
測試經典面試問題:一個項目從0到1,你需要做哪些工作工作的重點是什么?

最近在論壇上看到一位朋友問到這個問題,我覺得很經典,一般二面(leader級別)都相對喜歡問這種問題,我曾經既在面試中被問過這個問題,也在后來做面試官的時候問過別人這個問題,所以正好給大家分析下這個問題、答案,還有實際的一些落地經驗。 作為應聘者,在回答這個問題之前,我們要明確一點 ...

Sun Aug 09 20:19:00 CST 2020 0 1020
JS中For循環中嵌套setTimeout()方法的執行順序

在For循環中執行setTimeOut()方法的代碼,執行順序是怎樣的呢? 代碼如下 應該會有人會說,很簡單呀,for循環進行遍歷,並且每次有一個輸出,那結果應該是0,1,2,3,4。 其實不然,運行上訴代碼之后,控制台輸出如下:5個5 下面解釋下為什么是5個5. ...

Tue Dec 10 21:59:00 CST 2019 0 1367
js for 循環中的 變量問題

今日處理項目中的一個循環,本來就是一個小小的for循環,后來發現該段程序出現了問題,仔細檢查代碼沒有發現其中的錯誤。無奈只好叫來了老大幫忙。通過在模版中斷點調試(該方式只能自己寫debugger斷點)我們找到了問題的所在。首先看我們的循環: 這是一個很簡單的嵌套循環,但問題出在 ...

Tue Apr 21 04:41:00 CST 2015 0 4427
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM