国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

防抖和節(jié)流有什么區(qū)別?

這篇具有很好參考價(jià)值的文章主要介紹了防抖和節(jié)流有什么區(qū)別?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、理解防抖和節(jié)流

防抖:在單位時(shí)間內(nèi)頻繁觸發(fā)事件,只有最后一次生效

比如:在游戲回城的時(shí)候被打斷,再次點(diǎn)回城就會重新計(jì)時(shí),最終只有沒被打斷的最后一次,才能成功回城,就是防抖

節(jié)流:在單位時(shí)間內(nèi)頻繁觸發(fā)事件,只生效一次(也就是只有第一次生效)

比如:鼠標(biāo)點(diǎn)擊下一張輪播圖,不管單位時(shí)間內(nèi)連續(xù)點(diǎn)擊了多少次,輪播圖都是2秒換下一張,就是節(jié)流

防抖和節(jié)流都是性能優(yōu)化的一種手段

二、相同點(diǎn)

1.都可以通過使用 setTimeout 來實(shí)現(xiàn)

2.都可以降低回調(diào)執(zhí)行頻率,節(jié)省計(jì)算資源

三、不同點(diǎn)

1.定義不同

函數(shù)防抖:一段時(shí)間內(nèi)連續(xù)觸發(fā)事件,只執(zhí)行最后一次

函數(shù)節(jié)流:一段事件內(nèi)只執(zhí)行一次

2.應(yīng)用場景不同

防抖:(1)手機(jī)號、郵箱地址的校驗(yàn) (2)當(dāng)用戶input框輸入完成后再發(fā)請求,如搜索等

節(jié)流: 高頻事件,如:多少秒之后獲取驗(yàn)證碼、resize 事件和scroll 事件等

四、代碼實(shí)現(xiàn)

1.防抖:

<body>

? <input type="text" id="i">

? <script>

? ? // 1.防抖

? ? document.querySelector('#i').addEventListener('input', () => {

? ? ? debounce()

? ? })

? ? let timeId = null

? ? const debounce = () => {

? ? ? clearTimeout(timeId)

? ? ? timeId = setTimeout(() => {

? ? ? ? console.log("防抖最后一次輸出");

? ? ? }, 1000)

? ? }

? </script>

</body>文章來源地址http://www.zghlxwxcb.cn/news/detail-441695.html

?防抖實(shí)現(xiàn)效果:

防抖和節(jié)流有什么區(qū)別?

2.節(jié)流:

<body>

? ?<input type="button" id="btn" value="獲取驗(yàn)證碼">

? <script>

? ?

// 2.節(jié)流

? ? let flag = true // 設(shè)置控制開關(guān)

? ? let timeId = null

? ? const inp = document.querySelector('#btn')

? ? inp.addEventListener("click", () => {

? ? ? if (!flag) {

? ? ? ? return

? ? ? }

? ? ? flag = false

? ? ? let s = 5

? ? ? timeId = setInterval(() => {

? ? ? ? s -= 1

? ? ? ? if (s < 1) {

? ? ? ? ? inp.value = '獲取驗(yàn)證碼'

? ? ? ? ? flag = true

? ? ? ? ? s = 5

? ? ? ? ? clearInterval(timeId)

? ? ? ? } else {

? ? ? ? ? inp.value = s + '秒后再次獲取驗(yàn)證碼'

? ? ? ? }

? ? ? }, 1000)

? ? })

? </script>

</body>

到了這里,關(guān)于防抖和節(jié)流有什么區(qū)別?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 小程序如何使用防抖和節(jié)流?

    防抖(Debounce)和節(jié)流(Throttle)都是用來優(yōu)化函數(shù)執(zhí)行頻率的技術(shù),特別在處理用戶輸入、滾動等頻繁觸發(fā)的情況下,它們可以有效減少函數(shù)的執(zhí)行次數(shù),從而提升性能和用戶體驗(yàn)。但它們的工作方式和應(yīng)用場景有所不同。 防抖的主要思想是,當(dāng)持續(xù)觸發(fā)事件時(shí),在事件最

    2024年02月13日
    瀏覽(21)
  • axios、跨域與JSONP、防抖和節(jié)流

    axios、跨域與JSONP、防抖和節(jié)流

    Axios 是專注于 網(wǎng)絡(luò)數(shù)據(jù)請求 的庫。 相比于原生的 XMLHttpRequest 對象,axios 簡單易用 。 相比于 jQuery,axios 更加 輕量化 ,只專注于網(wǎng)絡(luò)數(shù)據(jù)請求。 axios.get(\\\'url\\\', { params: { /*參數(shù)*/ } }).then(callback) 例如: axios.post(\\\'url\\\', { /*參數(shù)*/ }).then(callback) 例如: 例如: 如果兩個(gè)頁面的 協(xié)議

    2024年02月08日
    瀏覽(20)
  • Vue - 使用Lodash實(shí)現(xiàn)防抖和節(jié)流

    Vue - 使用Lodash實(shí)現(xiàn)防抖和節(jié)流

    GitHub Demo 地址 在線預(yù)覽 Lodash 官網(wǎng) 更新:對應(yīng)的vue3版的demo如下: GitHub Demo 地址 在線預(yù)覽 參考: Vue 防抖節(jié)流 詳細(xì)介紹 vue 優(yōu)雅的實(shí)現(xiàn)防抖和節(jié)流 防抖、節(jié)流的介紹 js防抖和節(jié)流的實(shí)現(xiàn)原理及應(yīng)用場景 js防抖節(jié)流應(yīng)用場景及寫法 JS中的防抖 函數(shù)節(jié)流(throttle)與 函數(shù)防抖(

    2024年02月01日
    瀏覽(26)
  • 了解同源策略 JSONP 案例-淘寶搜索 防抖和節(jié)流

    什么是跨域 同源指的是兩個(gè) URL 的協(xié)議、域名、端口一致,反之,則是跨域。 出現(xiàn)跨域的根本原因:瀏覽器的同源策略不允許非同源的 URL 之間進(jìn)行資源的交互。 網(wǎng)頁:http://www.test.com/index.html 接口:http://www.api.com/userlist 瀏覽器對跨域請求的攔截 注意:瀏覽器允許發(fā)起跨域請

    2024年02月05日
    瀏覽(30)
  • JS手寫防抖和節(jié)流函數(shù)(超詳細(xì)版整理)

    JS手寫防抖和節(jié)流函數(shù)(超詳細(xì)版整理)

    防抖(debounce) :每次觸發(fā)定時(shí)器后,取消上一個(gè)定時(shí)器,然后重新觸發(fā)定時(shí)器。防抖 一般用于用戶未知行為的優(yōu)化 ,比如搜索框輸入彈窗提示,因?yàn)橛脩艚酉聛硪斎氲膬?nèi)容都是未知的,所以每次用戶輸入就彈窗是沒有意義的,需要等到用戶輸入完畢后再進(jìn)行彈窗提示。

    2024年02月04日
    瀏覽(20)
  • 了解防抖和節(jié)流:提升前端交互體驗(yàn)的實(shí)用策略

    本文將重點(diǎn)介紹前端性能優(yōu)化方法之一的防抖和節(jié)流。首先解釋了它們的概念和原理,然后探討了它們在前端開發(fā)中的應(yīng)用場景,如輸入框搜索、滾動事件等。最后,通過簡單的代碼示例展示了如何實(shí)現(xiàn)防抖和節(jié)流函數(shù)。通過學(xué)習(xí)和應(yīng)用這兩種技術(shù),我們可以有效地減少不必

    2024年02月05日
    瀏覽(22)
  • 19、節(jié)流和防抖的區(qū)別以及應(yīng)用場景的理解

    19、節(jié)流和防抖的區(qū)別以及應(yīng)用場景的理解

    節(jié)流和防抖兩者有什么區(qū)別? 節(jié)流和防抖分別用于什么場景? 節(jié)流( throttle )和防抖( debounce )是兩種常用的瀏覽器事件處理方法。 相同點(diǎn): 都是為了減少事件觸發(fā)頻率,優(yōu)化性能。 不同點(diǎn): 節(jié)流是指在一段時(shí)間內(nèi)最多觸發(fā)一次事件,節(jié)流算法會在特定的時(shí)間間隔內(nèi)判斷是否觸

    2024年02月03日
    瀏覽(18)
  • 前端性能優(yōu)化的利器 ——— 淺談JavaScript中的防抖和節(jié)流

    防抖和節(jié)流函數(shù)是工作中兩種常用的前端性能優(yōu)化函數(shù),今天我就來總結(jié)一下什么是防抖和節(jié)流,并詳細(xì)說明一下如何在工作中應(yīng)用防抖和節(jié)流函數(shù) 在 JavaScript 中,防抖(debounce)和節(jié)流(throttle)是用來限制函數(shù)執(zhí)行頻率的兩種常見技術(shù)。 防抖(debounce) 是指在某個(gè)時(shí)間段

    2024年02月14日
    瀏覽(30)
  • 1 vue防抖和限流

    1 vue防抖和限流

    防抖(Debouncing)是一種前端開發(fā)中常用的技術(shù),用于限制函數(shù)的執(zhí)行頻率。在防抖的機(jī)制下,一個(gè)函數(shù)在一定時(shí)間內(nèi)只會執(zhí)行一次,即使它被頻繁地調(diào)用。 具體來說,防抖的實(shí)現(xiàn)方式是設(shè)置一個(gè)定時(shí)器,在每次函數(shù)被調(diào)用時(shí),先清除之前的定時(shí)器,然后重新設(shè)置一個(gè)新的定

    2024年01月19日
    瀏覽(13)
  • Vue 3 中的極致防抖/節(jié)流(含常見方式防抖/節(jié)流)

    Vue 3 中的極致防抖/節(jié)流(含常見方式防抖/節(jié)流)

    各位朋友你們好呀。今天是立春,明天就是正月十五元宵節(jié)了,這種立春 + 元宵相隔的時(shí)候,可是很難遇到的,百年中就只有幾次。在這提前祝大家元宵快樂。 今天給大家?guī)淼氖?Vue 3 中的極致防抖/節(jié)流(含常見方式防抖/節(jié)流) 這篇文章,文章中不僅會講述原來使用的防

    2024年02月01日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包