<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:47:28
        文檔

        JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧

        JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧:我們這次使用setTimeout來實現一個按照時間定時,依次打印數值的例子.其實在早期的時候,也是我經常犯的一個錯誤,或者實現這種能力,似乎js比較牽強,其實是我的錯,哈哈!沒能理解JS強大之處.我們直接進入主題吧! 注意,如果用setInterval來實現的話,那肯定
        推薦度:
        導讀JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧:我們這次使用setTimeout來實現一個按照時間定時,依次打印數值的例子.其實在早期的時候,也是我經常犯的一個錯誤,或者實現這種能力,似乎js比較牽強,其實是我的錯,哈哈!沒能理解JS強大之處.我們直接進入主題吧! 注意,如果用setInterval來實現的話,那肯定

        我們這次使用setTimeout來實現一個按照時間定時,依次打印數值的例子.其實在早期的時候,也是我經常犯的一個錯誤,或者實現這種能力,似乎js比較牽強,其實是我的錯,哈哈!沒能理解JS強大之處.我們直接進入主題吧! 注意,如果用setInterval來實現的話,那肯定很簡單,這次我們是使用setTimeout. 我們先從最簡單思考入手.那就會寫出下面的代碼.

        這段代碼雖然依次打印了,每個i的值0,1,2,3,4.但是,執行的時間卻沒有起作用.為什么呢? 因為 console.log() 是方法的執行調用,在調用這個方法后,當是馬上執行!,所以沒有達到我們預期的目的。

        那我們繼續看下面一段代碼

        這里我們使用一個匿名函數包含了打印的console.log來打印i,所以 i這個值是共享的,還沒等到執行第一個setTimeout的時候,for循環已經執行完成,最后的i = 5,所以i 會打印四次 其實我們兩種解決辦法,我們先來看第一種:

        這里我們另外一個全局變量來存儲值,每執行一次函數abc,j就加一次,所以執行到setTimeout的時候,就會調用abc函數,所以會達到我們預期的效果,但是這里這個j是一個全局變量,全局變量會造成容易改變其值或者命名沖突等問題. 第二種辦法的實現,我們再次引入閉包函數.因為閉包函數,每一次創建都會存在一個自己的空間來存儲唯一的值.所以利用這個思維.我們把代碼寫成下面的代碼.

        我們將i的每一次執行for循環的值,傳給不同創建的閉包函數,這樣每一個閉包函數里存儲的i值,就都不會一樣.所以就是達到我們的想要的結果.

        ps:使用閉包對setTimeout進行簡單封裝

        在寫js腳本時,經常會用到一些拼寫函數的情況,例如調用setTimeout

        查了很長時間,為什么就是彈不出對話框呢。檢查了很長時間才發現,原來是少了一對單引號

        這樣的寫法容易出錯,還不容易檢查出錯誤,如果使用閉包就可完全避免,改寫如下

        由于使用了閉包,也簡單了很多,檢查錯誤也很容易了

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧

        JavaScriptsetTimeout使用閉包功能實現定時打印數值_javascript技巧:我們這次使用setTimeout來實現一個按照時間定時,依次打印數值的例子.其實在早期的時候,也是我經常犯的一個錯誤,或者實現這種能力,似乎js比較牽強,其實是我的錯,哈哈!沒能理解JS強大之處.我們直接進入主題吧! 注意,如果用setInterval來實現的話,那肯定
        推薦度:
        標簽: 定時 javascript set
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲av色影在线| 亚洲AV无码成人网站久久精品大 | 免费播放国产性色生活片| 成人毛片免费观看视频| 特级无码毛片免费视频尤物 | 国产91在线免费| 人人爽人人爽人人片A免费 | 成人免费一级毛片在线播放视频 | 免费的涩涩视频在线播放| 亚洲精华国产精华精华液| 国产精品成人无码免费| 日韩色日韩视频亚洲网站| 成人亚洲网站www在线观看| 久久夜色精品国产噜噜亚洲AV| 综合偷自拍亚洲乱中文字幕 | 亚洲国产精品无码AAA片| 久久这里只精品99re免费| 亚洲综合亚洲国产尤物| 大地资源免费更新在线播放| 亚洲av无码国产精品色午夜字幕| 免费无码中文字幕A级毛片| 亚洲精品人成网在线播放影院| a毛片免费全部在线播放**| 久久精品国产精品亚洲艾草网| 18禁网站免费无遮挡无码中文| 亚洲欧洲av综合色无码| 亚洲伊人成无码综合网| 91九色视频无限观看免费| 亚洲AV无码一区二区乱子伦| 亚洲免费在线观看视频| 精品亚洲国产成人av| 亚洲春色在线视频| 国产精品久久久久久久久久免费| 特级av毛片免费观看| 亚洲小视频在线观看| 最近2019中文免费字幕在线观看| 亚洲成人福利网站| 精品国产亚洲一区二区在线观看| 91短视频在线免费观看| 久久精品国产精品亚洲毛片| 好吊妞788免费视频播放|