成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

《高性能javascript》讀書筆記-第二章 數(shù)據(jù)存取

everfight / 2456人閱讀

摘要:局部變量位于作用域鏈的起始位置,因此訪問速度最快全局變量位于作用域鏈的最末端,因此訪問速度最慢。如訪問時間實例屬性第一層原型屬性第二層原型屬性在同一個函數(shù)中沒必要多次讀取同一個對象成員,建議第一次查詢到值后就將其存儲在局部變量中。

javascript中有四種基本的數(shù)據(jù)存取位置:字面量、變量、數(shù)組元素、對象成員。

1.訪問字面量和局部變量的速度最快,訪問數(shù)組元素和對象成員相對較慢。

2.變量在作用域鏈中的位置越深,訪問所需時間越長。

-局部變量位于作用域鏈的起始位置,因此訪問速度最快;

-全局變量位于作用域鏈的最末端,因此訪問速度最慢。

3.with語句和try-catch中的catch子句可以改變執(zhí)行環(huán)境的作用域鏈,有時會增加訪問代價,應(yīng)小心使用。

-with(A)會創(chuàng)建一個變量對象推入作用域鏈的首位,這個變量對象擁有A對象的所有屬性

function initUI(){
    width(document){//雖然避免了多次書寫document,但是其他局部變量(如i)處于作用域鏈的第二個對象中
      let bd = body,
        links = getElementsByTagName("a"),
        i=0,
        len = links.length
    //其他代碼
  }
}

-catch()子句會把異常對象推入作用域鏈的首位,catch代碼塊內(nèi)部訪問的所有局部變量會被放到作用域鏈的第二個對象中。

4.嵌套的對象成員會明顯影響性能,盡量少用。

如執(zhí)行時間:location.href < window.location.href < window.location.href.toString()

5.就對象及對象原型來說,屬性或方法在原型鏈中的位置越深,訪問它的速度越慢。

如訪問時間:實例屬性 < 第一層原型屬性 < 第二層原型屬性

6.在同一個函數(shù)中沒必要多次讀取同一個對象成員,建議第一次查詢到值后就將其存儲在局部變量中。

//bad
if(objecA.attr === 1 || objecA.attr === 2 || objecA.attr === 3){}
//good
const { attr } = objecA
if(attr === 1 || attr === 2 || attr === 3){}

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

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

相關(guān)文章

  • 讀書筆記】《性能JavaScript

    摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標(biāo)識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標(biāo)識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...

    chengjianhua 評論0 收藏0
  • 性能JavaScript讀書筆記

    摘要:除此以外,讓元素脫離文檔流也是一個很好的方法。因為元素一旦脫離文檔流,它對其他元素的影響幾乎為零,性能的損耗就能夠有效局限于一個較小的范圍。講完重排與重繪,往元素上綁定事件也是引起性能問題的元兇。高性能這本書非常精致,內(nèi)容也非常豐富。 showImg(https://segmentfault.com/img/bVJgbt?w=600&h=784); 入手《高性能JavaScript》一...

    W_BinaryTree 評論0 收藏0
  • 性能JavaScript》(讀書筆記

    摘要:加載的模塊會以參數(shù)形式傳入該函數(shù),從而在回調(diào)函數(shù)內(nèi)部就可以使用這些模塊。異步加載,和,瀏覽器不會失去響應(yīng)它指定的回調(diào)函數(shù),只有前面的模塊都加載成功后,才會運行,解決了依賴性的問題。插件,可以讓回調(diào)函數(shù)在頁面結(jié)構(gòu)加載完成后再運行。 這次主要是對《高性能JavaScript》一書的讀書筆記,記錄下自己之前沒有注意到或者需要引起重視的地方 第一章 加載和執(zhí)行 js代碼在執(zhí)行過程中會阻塞瀏覽...

    moven_j 評論0 收藏0
  • 前端補集 - 收藏集 - 掘金

    摘要:原文地址一個非常適合入門學(xué)習(xí)的博客項目前端掘金一個非常適合入門學(xué)習(xí)的項目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...

    YorkChen 評論0 收藏0
  • 前端補集 - 收藏集 - 掘金

    摘要:原文地址一個非常適合入門學(xué)習(xí)的博客項目前端掘金一個非常適合入門學(xué)習(xí)的項目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...

    AbnerMing 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<