亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

js函數(shù)節(jié)流和閉包

weknow619 / 3353人閱讀

摘要:今天解決了一個小程序中函數(shù)節(jié)流的問題小記以下。定義一個函數(shù)函數(shù)里面定義一個變量返回一個匿名函數(shù)匿名函數(shù)里面操作這個變量使用的時候調用返回的匿名函數(shù),可以用一個變量來接受一個簡單的計數(shù)器代碼如下

今天解決了一個小程序中函數(shù)節(jié)流的問題 小記以下。
節(jié)流 lodash中是throttle()那個函數(shù),改天可以去研究下源碼
下面是我自己實現(xiàn)的節(jié)流函數(shù)

  getClickTagFunc(){
     //定義一個標識,用來判斷是否繞過下面匿名函數(shù)的判斷
     let canRun = true
     //這個函數(shù)在onLoad()的時候就被調用
     //會返回一個匿名函數(shù),這個匿名函數(shù)會被存在data里
     return function(id, isLiked){
        //匿名函數(shù)會在父作用域中去尋找canRun 如果是false 則不再執(zhí)行下面的代碼 return 掉
       if(!canRun) return false
       //繞過判斷之后 立即把父作用域內的值設為false 這個是關鍵 由于canRun是false 所以200毫秒之內這個函數(shù)再被調用 就會直接被 return 掉
       canRun=false
        setTimeout(() => {
         
         dosomething......
         //做完想做的事情之后 把canRun設置為true 這樣dosomething才會再次被調到。通常dosomething這里會是一個回調函數(shù)
         canRun=true
      
    }, 200)      
   }
}, 

節(jié)流簡單點說就是稀釋函數(shù)被調用的頻率
然后還有一個就是閉包,之前一直不明白閉包要用在什么地方,今天算是初步弄明白了??梢宰尵植孔兞坎槐恢刂?,通常來說 這是需要一個全局變量的。但是通過一個閉包也能完成。

1.定義一個函數(shù)
2.函數(shù)里面定義一個變量
3.返回一個匿名函數(shù)
4.匿名函數(shù)里面操作這個變量
5.使用的時候調用返回的匿名函數(shù),可以用一個變量來接受

一個簡單的計數(shù)器 代碼如下

 function count(){
    let x = 0 
    return function(){
        console.log(x++) 
    }
}

let run = count()

setInterval(() => {
  run()
}, 200);

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/105559.html

相關文章

  • JS實現(xiàn)函數(shù)節(jié)流防抖

    摘要:函數(shù)的節(jié)流當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法讓函數(shù)執(zhí)行者冷靜下來后不一直抖動后,才真正執(zhí)行。 1.函數(shù)的節(jié)流 當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法:聯(lián)系到水流的流量,我想讓你1s只流出多少水你就只能...

    cnsworder 評論0 收藏0
  • JS實現(xiàn)函數(shù)節(jié)流防抖

    摘要:函數(shù)的節(jié)流當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法讓函數(shù)執(zhí)行者冷靜下來后不一直抖動后,才真正執(zhí)行。 1.函數(shù)的節(jié)流 當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法:聯(lián)系到水流的流量,我想讓你1s只流出多少水你就只能...

    浠ラ箍 評論0 收藏0
  • JS實現(xiàn)函數(shù)節(jié)流防抖

    摘要:函數(shù)的節(jié)流當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法讓函數(shù)執(zhí)行者冷靜下來后不一直抖動后,才真正執(zhí)行。 1.函數(shù)的節(jié)流 當持續(xù)觸發(fā)事件時,保證一定時間段內只調用一次事件處理函數(shù)。也就是一個函數(shù)執(zhí)行一次后,只有大于設定的執(zhí)行周期后才會執(zhí)行第二次。記憶法:聯(lián)系到水流的流量,我想讓你1s只流出多少水你就只能...

    melody_lql 評論0 收藏0
  • 徹底弄懂函數(shù)防抖函數(shù)節(jié)流

    摘要:若時間差大于間隔時間,則立刻執(zhí)行一次函數(shù)。不同點函數(shù)防抖,在一段連續(xù)操作結束后,處理回調,利用和實現(xiàn)。函數(shù)防抖關注一定時間連續(xù)觸發(fā)的事件只在最后執(zhí)行一次,而函數(shù)節(jié)流側重于一段時間內只執(zhí)行一次。 原博客地址,歡迎star 函數(shù)防抖和節(jié)流 函數(shù)防抖和函數(shù)節(jié)流:優(yōu)化高頻率執(zhí)行js代碼的一種手段,js中的一些事件如瀏覽器的resize、scroll,鼠標的mousemove、mouseover...

    Mr_houzi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<