电竞比分网-中国电竞赛事及体育赛事平台

分享

js中常見(jiàn)的高級(jí)函數(shù)整理

 流水1314 2020-09-28

在JavaScript中,函數(shù)的功能十分強(qiáng)大。它們是第一類對(duì)象,也可以作為另一個(gè)對(duì)象的方法,還可以作為參數(shù)傳入另一個(gè)函數(shù),不僅如此,還能被一個(gè)函數(shù)返回!可以說(shuō),在JS中,函數(shù)無(wú)處不在,無(wú)所不能,堪比孫猴子呀!當(dāng)你運(yùn)用好函數(shù)時(shí),它能助你取西經(jīng),讓代碼變得優(yōu)雅簡(jiǎn)潔,運(yùn)用不好時(shí),那就遭殃了,要大鬧天宮咯~

除了函數(shù)相關(guān)的基礎(chǔ)知識(shí)外,掌握一些高級(jí)函數(shù)并應(yīng)用起來(lái),不僅能讓JS代碼看起來(lái)更為精簡(jiǎn),還可以提升性能。以下是博主總結(jié)的一些常用的、重要的高級(jí)函數(shù),加上了一些個(gè)人見(jiàn)解,特此記錄下來(lái)。如果您是JS初學(xué)者,也不要被“高級(jí)”兩個(gè)字嚇到,因?yàn)槲闹写┎逯v解了一些原型、this等基礎(chǔ)知識(shí),相信并不難理解。如果您是JS大牛,也可以把本文用來(lái)查漏補(bǔ)缺。

1. 防抖

瀏覽器的 resize、scroll、keypress、mousemove 等事件在觸發(fā)時(shí),會(huì)不斷地調(diào)用綁定在事件上的回調(diào)函數(shù),極大地浪費(fèi)資源,降低前端性能。為了優(yōu)化體驗(yàn),需要對(duì)這類事件進(jìn)行調(diào)用次數(shù)的限制。

作用是在短時(shí)間內(nèi)多次觸發(fā)同一個(gè)函數(shù),只執(zhí)行最后一次,或者只在開(kāi)始時(shí)執(zhí)行。

以用戶拖拽改變窗口大小,觸發(fā) resize 事件為例,在這過(guò)程中窗口的大小一直在改變,所以如果我們?cè)?resize 事件中綁定函數(shù),這個(gè)函數(shù)將會(huì)一直觸發(fā),而這種情況大多數(shù)情況下是無(wú)意義的,還會(huì)造成資源的大量浪費(fèi)。

js中常見(jiàn)的高級(jí)函數(shù)整理

2. 節(jié)流

節(jié)流是指在一段時(shí)間內(nèi)只允許函數(shù)執(zhí)行一次

應(yīng)用場(chǎng)景如: 輸入框的聯(lián)想、可以限定用戶在輸入時(shí),只在每?jī)擅腌婍憫?yīng)一次聯(lián)想(或是兩秒鐘發(fā)送一次搜索請(qǐng)求)

js中常見(jiàn)的高級(jí)函數(shù)整理

3. 數(shù)組扁平化

js中常見(jiàn)的高級(jí)函數(shù)整理

4. 柯里化

js中常見(jiàn)的高級(jí)函數(shù)整理

5. 對(duì)象拷貝

js中常見(jiàn)的高級(jí)函數(shù)整理

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多