?? 閉包
- 閉包就是能夠讀取其他函式內部變數的函式,將函式內部和外部連接起來的一座橋梁,即定義在函式內部的函式,
- 用途
- 讀取函式內部的變數
- 讓變數的值始終保持在記憶體中
- 注意
- 閉包對記憶體消耗很大,會影響網頁的性能,在
IE中可能導致記憶體泄漏,在退出函式之前,將不使用的區域變數全部洗掉 - 閉包會在父函式外部,改變父函式內部變數的值
- 如果把父函式當作物件
object使用,將閉包當作公用方法Public Method,內部變數當作私有屬性private value使用時,不要隨便改變父函式內部變數的值
- 如果把父函式當作物件
- 閉包對記憶體消耗很大,會影響網頁的性能,在
?? 防抖
- 一定時間內,函式只會執行最后一次任務
- 缺點:當用戶在指定時間間隔中一直操作,那么
setTimeout里的函式永遠不會執行
?? 截流
- 一定時間內,函式只執行一次
- 缺點:如果用戶一直操作,那么
setimeout里的函式會在指定時間間隔后都會執行一次
?? 防抖截流的區別
- 相同點
- 都用到了
setTimeout定時器 - 都是在指定時間間隔后執行函式
- 都是優化高頻率執行
js代碼的一種手段 - 都是為了解決資料時時變化而時時請求導致性能差的問題
- 都用到了
- 不同點
- 防抖在指定時間間隔里再次呼叫函式,會清除定時器,重新計時,直到在最新的計時時間間隔里沒有呼叫函式,才會執行定時器里的函式
- 節流會在指定時間間隔后會執行一次函式,不會清除定時器而重新計時
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/289092.html
標籤:JavaScript
