您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“分析js對象的讀取速度”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
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%!
“分析js對象的讀取速度”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。