久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Vue中怎么對事件進行防抖和節(jié)流操作?

      Vue中怎么對事件進行防抖和節(jié)流操作?

      有些瀏覽器事件可以在短時間內(nèi)快速觸發(fā)多次,比如調(diào)整窗口大小或向下滾動頁面。例如,監(jiān)聽頁面窗口滾動事件,并且用戶持續(xù)快速地向下滾動頁面,那么滾動事件可能在 3 秒內(nèi)觸發(fā)數(shù)千次,這可能會導(dǎo)致一些嚴重的性能問題。

      如果在面試中討論構(gòu)建應(yīng)用程序,出現(xiàn)滾動、窗口大小調(diào)整或按下鍵等事件請務(wù)必提及 防抖(Debouncing) 和 函數(shù)節(jié)流(Throttling)來提升頁面速度和性能。這兩兄弟的本質(zhì)都是以閉包的形式存在。通過對事件對應(yīng)的回調(diào)函數(shù)進行包裹、以自由變量的形式緩存時間信息,最后用 setTimeout 來控制事件的觸發(fā)頻率。

      Throttle: 第一個人說了算

      throttle 的中心思想在于:在某段時間內(nèi),不管你觸發(fā)了多少次回調(diào),我都只認第一次,并在計時結(jié)束時給予響應(yīng)。

      先給大家講個小故事:現(xiàn)在有一個旅客剛下了飛機,需要用車,于是打電話叫了該機場唯一的一輛機場大巴來接。司機開到機場,心想來都來了,多接幾個人一起走吧,這樣這趟才跑得值——我等個十分鐘看看。于是司機一邊打開了計時器,一邊招呼后面的客人陸陸續(xù)續(xù)上車。在這十分鐘內(nèi),后面下飛機的乘客都只能乘這一輛大巴,十分鐘過去后,不管后面還有多少沒擠上車的乘客,這班車都必須發(fā)走。

      在這個故事里,“司機” 就是我們的節(jié)流閥,他控制發(fā)車的時機;“乘客”就是因為我們頻繁操作事件而不斷涌入的回調(diào)任務(wù),它需要接受“司機”的安排;而“計時器”,就是我們上文提到的以自由變量形式存在的時間信息,它是“司機”決定發(fā)車的依據(jù);最后“發(fā)車”這個動作,就對應(yīng)到回調(diào)函數(shù)的執(zhí)行。

      總結(jié)下來,所謂的“節(jié)流”,是通過在一段時間內(nèi)無視后來產(chǎn)生的回調(diào)請求來實現(xiàn)的。只要一位客人叫了車,司機就會為他開啟計時器,一定的時間內(nèi),后面需要乘車的客人都得排隊上這一輛車,誰也無法叫到

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號