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)文章
JavaScript中:表達(dá)式和語句的區(qū)別[譯]
本文要講的是JavaScript中非常重要的兩個(gè)知識(shí)點(diǎn):表達(dá)式(expressions)和語句(statements)之間的區(qū)別2012-09-09
優(yōu)雅的使用javascript遞歸畫一棵結(jié)構(gòu)樹示例代碼
這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的使用javascript遞歸畫一棵結(jié)構(gòu)樹的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
深入理解事件冒泡(Bubble)和事件捕捉(capture)
下面小編就為大家?guī)硪黄钊肜斫馐录芭?Bubble)和事件捕捉(capture)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05
javascript彈出一個(gè)層并增加一個(gè)覆蓋層
彈出一個(gè)層的js代碼,比較不錯(cuò)2008-10-10
JavaScript獲取Excel表格的列序號(hào)和列名
這篇文章主要介紹了JavaScript獲取Excel表格的列序號(hào)和列名,在處理Excel文件時(shí),通常要獲取xx列的數(shù)據(jù),這就要求先找到列序號(hào),下文關(guān)于列名獲取需要的小伙伴可以參考一下2022-05-05

