国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue的源碼解析(passive特性,感覺是面試加分項)

phodal / 1980人閱讀

摘要:突然發(fā)現(xiàn)一個特性。這里核心是檢查是否支持,是什么提出的一個新的瀏覽器特性開發(fā)者通過一個新的屬性來告訴瀏覽器,當(dāng)前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會調(diào)用函數(shù)來阻止事件的默認(rèn)行為,以便瀏覽器根據(jù)這個信息更好地做出決策來優(yōu)化頁面性能。

今天我看源碼,因為一邊看一邊記筆記所以看的慢。突然發(fā)現(xiàn)一個特性。所以多帶帶開一篇。
感覺是一個秀bigger的特性,如果有一天面試官問你發(fā)現(xiàn)優(yōu)化頁面的時候,
你提出可以檢查瀏覽器是否可以使用該特性。提升滾動流暢度。
passive
  var supportsPassive = false;
  if (inBrowser) {
    try {
      var opts = {};
      Object.defineProperty(opts, "passive", ({
        get: function get () {
          /* istanbul ignore next */
          supportsPassive = true;
        }
      })); // https://github.com/facebook/flow/issues/285
      window.addEventListener("test-passive", null, opts);
    } catch (e) {}
  }

這里核心是檢查是否支持Passive,
tips

1, passive是什么?Chrome提出的一個新的瀏覽器特性:Web開發(fā)者通過一個新的屬性passive來告訴瀏覽器,當(dāng)前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會調(diào)用preventDefault函數(shù)來阻止事件的默認(rèn)行為,以便瀏覽器根據(jù)這個信息更好地做出決策來優(yōu)化頁面性能。當(dāng)屬性passive的值為true的時候,代表該監(jiān)聽器內(nèi)部不會調(diào)用preventDefault函數(shù)來阻止默認(rèn)滑動行為,Chrome瀏覽器稱這類型的監(jiān)聽器為被動(passive)監(jiān)聽器。目前Chrome主要利用該特性來優(yōu)化頁面的滑動性能,所以Passive Event Listeners特性當(dāng)前僅支持mousewheel/touch相關(guān)事件

2, Passive Event Listeners特性是為了提高頁面的滑動流暢度而設(shè)計的,頁面滑動流暢度的提升,直接影響到用戶對這個頁面最直觀的感受。這個不難理解,想象一下你想要滑動某個頁面瀏覽內(nèi)容,當(dāng)你用鼠標(biāo)滾輪或者用手指觸摸屏幕上下滑動的時候,頁面并沒有按你的預(yù)期進(jìn)行滾動,此時你內(nèi)心往往會感覺到一絲不爽,甚至想放棄該頁面。Facebook之前做了一項試驗,他們將頁面滑動的響應(yīng)刷新率從60FPS降低到30FPS的時候,發(fā)現(xiàn)用戶的參與度急速下降。

3,passive的簡單實現(xiàn)

function handler(event) {
        console.log(event.type); // log event type
    }
document.addEventListener("mousewheel", handler, {passive:true});

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/117542.html

相關(guān)文章

  • vue源碼解析passive特性感覺面試分項

    摘要:突然發(fā)現(xiàn)一個特性。這里核心是檢查是否支持,是什么提出的一個新的瀏覽器特性開發(fā)者通過一個新的屬性來告訴瀏覽器,當(dāng)前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會調(diào)用函數(shù)來阻止事件的默認(rèn)行為,以便瀏覽器根據(jù)這個信息更好地做出決策來優(yōu)化頁面性能。 今天我看源碼,因為一邊看一邊記筆記所以看的慢。突然發(fā)現(xiàn)一個特性。所以單獨開一篇。感覺是一個秀bigger的特性,如果有一天面試官問你發(fā)現(xiàn)優(yōu)化頁面的時候,你提出可...

    0x584a 評論0 收藏0
  • vue源碼解析passive特性感覺面試分項

    摘要:突然發(fā)現(xiàn)一個特性。這里核心是檢查是否支持,是什么提出的一個新的瀏覽器特性開發(fā)者通過一個新的屬性來告訴瀏覽器,當(dāng)前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會調(diào)用函數(shù)來阻止事件的默認(rèn)行為,以便瀏覽器根據(jù)這個信息更好地做出決策來優(yōu)化頁面性能。 今天我看源碼,因為一邊看一邊記筆記所以看的慢。突然發(fā)現(xiàn)一個特性。所以單獨開一篇。感覺是一個秀bigger的特性,如果有一天面試官問你發(fā)現(xiàn)優(yōu)化頁面的時候,你提出可...

    Karrdy 評論0 收藏0
  • Java面試 32個核心必考點完全解析

    摘要:如問到是否使用某框架,實際是是問該框架的使用場景,有什么特點,和同類可框架對比一系列的問題。這兩個方向的區(qū)分點在于工作方向的側(cè)重點不同。 [TOC] 這是一份來自嗶哩嗶哩的Java面試Java面試 32個核心必考點完全解析(完) 課程預(yù)習(xí) 1.1 課程內(nèi)容分為三個模塊 基礎(chǔ)模塊: 技術(shù)崗位與面試 計算機基礎(chǔ) JVM原理 多線程 設(shè)計模式 數(shù)據(jù)結(jié)構(gòu)與算法 應(yīng)用模塊: 常用工具集 ...

    JiaXinYi 評論0 收藏0
  • 如何準(zhǔn)備阿里社招面試,給準(zhǔn)備java社招朋友一個建議!

    摘要:第一個問題阿里面試都問什么這個是讓我最頭疼的一個問題,也是群里的猿友們問的最多的一個問題。我參加的是阿里的社招面試,而社招不同于校招,問題的范圍其實是很隨機的。所以,不妨就這兩個階段,談?wù)勆缯忻嬖嚨臏?zhǔn)備,而不是去把阿里面試的過程背一遍。 引言其實本來真的沒打算寫這篇文章,主要是記憶力不是很好,不像一些記憶力強的人,面試完以后,幾乎能把自己和面試官的對話都給記下來。自己當(dāng)初面試完以后,除...

    BoYang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<