js對象的讀取速度實例詳解
1、訪問字面量和局部變量最快,而訪問數(shù)組元素和對象成員相對較慢。訪問對象成員時,就像作用域鏈一樣,在原型鏈上搜索。
2、如果找到的成員在原型鏈中的位置太深,訪問速度就會變慢。
所以要盡量減少對象成員的搜索次數(shù)和嵌套深度。
實例
// 進行兩次對象成員查找 function hasEitherClass(element, className1, className2) { return element.className === className1 || element.className === className2; } // 優(yōu)化,如果該變量不會改變,則可以使用局部變量保存查找的內(nèi)容 function hasEitherClass(element, className1, className2) { const currentClassName = element.className; return currentClassName === className1 || currentClassName === className2; }
內(nèi)容擴展:
js對象操作性能問題
1 string越長,那么使用str+="xxx"所花的時間將顯著增加(近乎指數(shù)級別)。
2 對象數(shù)組僅僅只有400個元素的時候,對每個元素的屬性和方法的訪問時間都達到
了每個屬性或者方法1/4毫秒!如果一個元素有10個屬性,那么對數(shù)組的一次遍歷,至少需要1秒,恐怖
3 FileSystem的操作,特別是write的操作幾乎與要寫的字符串長度的平方成正比。
4 不要采用自己定義的方法進行字符串操作,特別是替代和查找,比較;
我對正則式掌握不透,使用自定義函數(shù)的時候,發(fā)現(xiàn)在上述2)中提到的遍歷中,
自定義函數(shù)耗費的時間達到了總時間的80%!
到此這篇關(guān)于js對象的讀取速度實例詳解的文章就介紹到這了,更多相關(guān)js對象的讀取速度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA Web實時消息后臺服務(wù)器推送技術(shù)---GoEasy
本篇文章主要介紹了PHP實現(xiàn)Web實時消息后臺服務(wù)器推送技術(shù),這里整理了詳細的代碼,有需要的小伙伴可以參考下。2016-11-11淺談SpringMVC中post checkbox 多選框value的值(隱藏域方式)
下面小編就為大家分享一篇淺談SpringMVC中post checkbox 多選框value的值(隱藏域方式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01在TypeScript項目中搭配Axios封裝后端接口調(diào)用
這篇文章主要介紹了在TypeScript項目中搭配Axios封裝后端接口調(diào)用,本文記錄一下在?TypeScript?項目里封裝?axios?的過程,之前在開發(fā)?StarBlog-Admin?的時候已經(jīng)做了一次封裝,不過那時是JavaScript跟TypeScript還是有些區(qū)別的,需要的朋友可以參考下2024-01-01js前端實現(xiàn)圖片懶加載(lazyload)的兩種方式
本篇文章主要介紹了js前端實現(xiàn)圖片懶加載(lazyload)的兩種方式 ,使用圖片懶加載可以提高網(wǎng)頁運行速度,有興趣的可以了解一下。2017-04-04JavaScript中你不知道的Object.entries用法
大家應(yīng)該都知道,Object.entries()方法返回一個給定對象自身可枚舉屬性的鍵值對數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對象時返回的順序一致,這篇文章主要給大家介紹了關(guān)于JavaScript中你不知道的Object.entries用法的相關(guān)資料,需要的朋友可以參考下2021-10-10