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