摘要:局部變量位于作用域鏈的起始位置,因此訪問速度最快全局變量位于作用域鏈的最末端,因此訪問速度最慢。如訪問時間實例屬性第一層原型屬性第二層原型屬性在同一個函數中沒必要多次讀取同一個對象成員,建議第一次查詢到值后就將其存儲在局部變量中。
javascript中有四種基本的數據存取位置:字面量、變量、數組元素、對象成員。
1.訪問字面量和局部變量的速度最快,訪問數組元素和對象成員相對較慢。
2.變量在作用域鏈中的位置越深,訪問所需時間越長。
-局部變量位于作用域鏈的起始位置,因此訪問速度最快;
-全局變量位于作用域鏈的最末端,因此訪問速度最慢。
3.with語句和try-catch中的catch子句可以改變執行環境的作用域鏈,有時會增加訪問代價,應小心使用。
-with(A)會創建一個變量對象推入作用域鏈的首位,這個變量對象擁有A對象的所有屬性
function initUI(){ width(document){//雖然避免了多次書寫document,但是其他局部變量(如i)處于作用域鏈的第二個對象中 let bd = body, links = getElementsByTagName("a"), i=0, len = links.length //其他代碼 } }
-catch()子句會把異常對象推入作用域鏈的首位,catch代碼塊內部訪問的所有局部變量會被放到作用域鏈的第二個對象中。
4.嵌套的對象成員會明顯影響性能,盡量少用。
如執行時間:location.href < window.location.href < window.location.href.toString()
5.就對象及對象原型來說,屬性或方法在原型鏈中的位置越深,訪問它的速度越慢。
如訪問時間:實例屬性 < 第一層原型屬性 < 第二層原型屬性
6.在同一個函數中沒必要多次讀取同一個對象成員,建議第一次查詢到值后就將其存儲在局部變量中。
//bad if(objecA.attr === 1 || objecA.attr === 2 || objecA.attr === 3){} //good const { attr } = objecA if(attr === 1 || attr === 2 || attr === 3){}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99692.html
摘要:性能訪問字面量和局部變量的速度是最快的,訪問數組和對象成員相對較慢變量標識符解析過程搜索執行環境的作用域鏈,查找同名標識符。建議將全局變量存儲到局部變量,加快讀寫速度。優化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現在馬上就2018年了,這幾年前端發展的速度是飛快的,書里面還有一些內容考慮IE6、7、8的東...
摘要:除此以外,讓元素脫離文檔流也是一個很好的方法。因為元素一旦脫離文檔流,它對其他元素的影響幾乎為零,性能的損耗就能夠有效局限于一個較小的范圍。講完重排與重繪,往元素上綁定事件也是引起性能問題的元兇。高性能這本書非常精致,內容也非常豐富。 showImg(https://segmentfault.com/img/bVJgbt?w=600&h=784); 入手《高性能JavaScript》一...
摘要:加載的模塊會以參數形式傳入該函數,從而在回調函數內部就可以使用這些模塊。異步加載,和,瀏覽器不會失去響應它指定的回調函數,只有前面的模塊都加載成功后,才會運行,解決了依賴性的問題。插件,可以讓回調函數在頁面結構加載完成后再運行。 這次主要是對《高性能JavaScript》一書的讀書筆記,記錄下自己之前沒有注意到或者需要引起重視的地方 第一章 加載和執行 js代碼在執行過程中會阻塞瀏覽...
摘要:原文地址一個非常適合入門學習的博客項目前端掘金一個非常適合入門學習的項目,代碼清晰結構合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應聘者不及格系列):從閉包說起 - 掘金修訂說明:發布《80% 應聘者都不及格的 JS 面試題》之后,全網閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:原文地址一個非常適合入門學習的博客項目前端掘金一個非常適合入門學習的項目,代碼清晰結構合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應聘者不及格系列):從閉包說起 - 掘金修訂說明:發布《80% 應聘者都不及格的 JS 面試題》之后,全網閱讀量超過 6W,在知乎、掘金、cnodejs ...
閱讀 824·2021-09-07 09:58
閱讀 2682·2021-08-31 09:42
閱讀 2855·2019-08-30 14:18
閱讀 3086·2019-08-30 14:08
閱讀 1831·2019-08-30 12:57
閱讀 2759·2019-08-26 13:31
閱讀 1299·2019-08-26 11:58
閱讀 1052·2019-08-23 18:06