節流函式的實現,一次面試題遇到的程式設計題

2021-10-25 11:13:55 字數 652 閱讀 1915

在日常開發中有很多場景我們都需要用到節流函式和防抖函式,比如:實現輸入框的模糊查詢因為需要輪詢ajax,影響瀏覽器效能,所以需要用到節流函式;實現手機號、姓名之類的的驗證,往往我們只需要驗證一次,這個時候我們就需要用到防抖函式;防抖函式的實現

節流函式

顧名思義,就是節省流量節省記憶體效能的一種函式,可以理解為是一種效能優化方案;

舉個例子:乙個水龍頭一直在滴水,可能一次性會滴很多水,但是我們想控制它的頻率 ,讓它每1000毫秒滴一滴水,這個時候我們就可以用到節流函式來進行控制(簡單可以理解為類似於週期性定時器)

//首先定義乙個全域性變數

var canrun = true;

//當瀏覽器視窗大小發生變化也就是重新計算視窗大小的時候觸發

window.onresize = function()

//走到這來就是canrun為true的情況,然後進行賦值為false

canrun = false

//設定乙個定時器進行輪詢操作

settimeout( function () , 1000)

}

防抖函式和節流函式都是用來提公升效能優化及使用者體驗的一種方案,節流函式會規律性的執行多次;

記錄一次面試題

前面去了平安外包進行了一次web前端面試,那邊要求不是很高,問的問題也都是很常見的問題,但是我也從中發現了自己缺點,即沒有綜合組織過自己的思路,大部分問題雖然回答出來了,但是沒有條理性。這點在面試的時候應該是大忌,因為這裡涉及到了乙個工作溝通問題以及對基礎知識的熟練程度問題。所以在接下來的時間裡,我...

記錄一次面試題

1 spring中ioc的概念 提到ioc那就不得不提控制反轉和依賴注入 控制反 原本我們建立物件時需要呼叫物件的構造方法,手動進行物件建立,現在,我們將物件的建立銷毀交由spring容器來做,它通過反射來建立物件,我們用完之後對物件進行銷毀。依賴注入 通常的業務模組都需要呼叫兩個或兩個以上的物件來...

記一次面試中的面試題

最近自己的一次面試。真實情況,別的不說先貼被面的面試題。bean的生命週期修改 比如在哪個生命週期更改 可以在呼叫的時候修改bean的名稱 zookeeper如何做註冊中心。kafka消費資料為何一直消費不到怎麼排查。訂單超時如何實現 例如30分鐘未支付 日常開發問題如何解決。對於新技術的學習方式。...