面試題

函數(shù)防抖和函數(shù)節(jié)流

函數(shù)防抖(debounce)

當調(diào)用動作過n毫秒后苦囱,才會執(zhí)行該動作讳侨,若在這n毫秒內(nèi)又調(diào)用此動作則將重新計算執(zhí)行時間

函數(shù)節(jié)流(throttle)

預先設定一個執(zhí)行周期陷寝,當調(diào)用動作的時刻大于等于執(zhí)行周期則執(zhí)行該動作,然后進入下一個新
周期

函數(shù)節(jié)流(throttle)與函數(shù)防抖(debounce)都是為了限制函數(shù)的執(zhí)行頻次,以優(yōu)化函數(shù)觸發(fā)頻率過高導致的響應速度跟不上觸發(fā)頻率,出現(xiàn)延遲桂敛,假死或卡頓的現(xiàn)象。

函數(shù)防抖的應用場景

連續(xù)的事件溅潜,只需觸發(fā)一次回調(diào)的場景有:
           1:搜索框搜索輸入术唬。只需用戶最后一次輸入完,再發(fā)送請求
           2:手機號滚澜、郵箱驗證輸入檢測
           3:窗口大小Resize粗仓。只需窗口調(diào)整完成后,計算窗口大小博秫。防止重復渲染潦牛。
函數(shù)節(jié)流的應用場景
  間隔一段時間執(zhí)行一次回調(diào)的場景有:
           1: 滾動加載,加載更多或滾到底部監(jiān)聽
           2:谷歌搜索框挡育,搜索聯(lián)想功能
           3:高頻點擊提交,表單重復提交

相同點:

          都可以通過使用 setTimeout 實現(xiàn)朴爬。
          目的都是即寒,降低回調(diào)執(zhí)行頻率。節(jié)省計算資源。

不同點:

函數(shù)防抖母赵,在一段連續(xù)操作結(jié)束后逸爵,處理回調(diào),利用 clearTimeout 和 setTimeout 實現(xiàn)凹嘲。函數(shù)節(jié)流师倔,在一段連續(xù)操作中,每一段時間只執(zhí)行一次周蹭,頻率較高的事件中使用來提高性能趋艘。
函數(shù)防抖關注一定時間連續(xù)觸發(fā),只在最后執(zhí)行一次凶朗,而函數(shù)節(jié)流側(cè)重于一段時間內(nèi)只執(zhí)行一次瓷胧。

2: 什么是事件委托?為什么要用事件委托棚愤?

什么是事件委托

事件委托就是利用事件冒泡搓萧,只制定一個時間處理程序,就可以管理某一類型的所有事件宛畦。

為什么要用事件委托

因為需要不斷的與dom節(jié)點進行交互瘸洛,訪問dom的次數(shù)越多,引起瀏覽器重繪與重排的次數(shù)也就越多次和,就會延長整個頁面的交互就緒時間反肋,這就是為什么性能優(yōu)化的主要思想之一就是減少DOM操作的原因;每個函數(shù)都是一個對象斯够,是對象就會占用內(nèi)存囚玫,對象越多,內(nèi)存占用率越大读规,100個li就要占用100個內(nèi)存空間抓督。如果要用事件委托,就會將所有的操作放到js程序里面束亏,只對它的父級(如果只有一個父級)這一個對象進行操作铃在,與dom的操作就只需要交互一次,這樣就能大大的減少與dom的交互次數(shù)碍遍,提高性能定铜;

原生 JS 的 window.onload 與 Jquery 的$(document).ready(function(){})

window.onload 是在 dom 文檔樹加載完和所有文件加載完之后執(zhí)行一個函數(shù) document.ready 原生中

沒有這個方法,jquery 中有 ().ready(function),在 dom 文檔樹加載完之后執(zhí)行一個函數(shù)(注意怕敬,這里面 的文檔樹加載完不代表全部文件加載完)揣炕。(document).ready 要比 window.onload 先執(zhí)行
window.onload 只能出來一次,$(document).ready 可以出現(xiàn)多次

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末东跪,一起剝皮案震驚了整個濱河市畸陡,隨后出現(xiàn)的幾起案子鹰溜,更是在濱河造成了極大的恐慌,老刑警劉巖丁恭,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曹动,死亡現(xiàn)場離奇詭異,居然都是意外死亡牲览,警方通過查閱死者的電腦和手機墓陈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來第献,“玉大人贡必,你說我怎么就攤上這事∪叮” “怎么了赊级?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長岔绸。 經(jīng)常有香客問我理逊,道長,這世上最難降的妖魔是什么盒揉? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任晋被,我火速辦了婚禮,結(jié)果婚禮上刚盈,老公的妹妹穿的比我還像新娘羡洛。我一直安慰自己,他們只是感情好藕漱,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布欲侮。 她就那樣靜靜地躺著,像睡著了一般肋联。 火紅的嫁衣襯著肌膚如雪威蕉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天橄仍,我揣著相機與錄音韧涨,去河邊找鬼。 笑死侮繁,一個胖子當著我的面吹牛虑粥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宪哩,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼娩贷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锁孟?” 一聲冷哼從身側(cè)響起育勺,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤但荤,失蹤者是張志新(化名)和其女友劉穎罗岖,沒想到半個月后涧至,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡桑包,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年南蓬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哑了。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡赘方,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弱左,到底是詐尸還是另有隱情窄陡,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布拆火,位于F島的核電站跳夭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏们镜。R本人自食惡果不足惜币叹,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望模狭。 院中可真熱鬧颈抚,春花似錦、人聲如沸嚼鹉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锚赤。三九已至匹舞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宴树,已是汗流浹背策菜。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酒贬,地道東北人又憨。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像锭吨,于是被迫代替她去往敵國和親蠢莺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化零如,入門級到專家級躏将,廣度和深度都會有所增加锄弱。 題目類型: 理論知...
    怡寶丶閱讀 2,572評論 0 7
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,090評論 1 32
  • 1、函數(shù)防抖和函數(shù)節(jié)流 概念 函數(shù)防抖(debounce):函數(shù)防抖祸憋,就是指觸發(fā)事件后在 n 秒內(nèi)函數(shù)只...
    馬小超321閱讀 331評論 0 0
  • HTML HTML5標簽 媒體查詢head部分寫法 Doctype作用? 嚴格模式與混雜模式如何區(qū)分会宪?它們有何意義...
    Mayo_閱讀 639評論 0 8
  • 本文中講述到的面試題: 說說對閉包的認識, 它解決了什么問題?跨域問題有哪些處理方式?for...in 和 for...
    寫代碼的胖猴子閱讀 1,101評論 0 5