淺談js算法和流程控制
代碼整體結(jié)構(gòu)是執(zhí)行速度的決定因素之一。 代碼量少不一定運行速度快, 代碼量多也不一定運行速度慢。
性能損失與代碼組織方式和具體問題解決辦法直接相關(guān)。
倒序循環(huán)可以提高性能,如:
for (var i=items.length; i--; ){ process(items[i]); }
控制件與 true 值進(jìn)行比較,任何非零數(shù)字自動強(qiáng)制轉(zhuǎn)換為 true,而零等同于 false。實際上,控制條件已經(jīng)從兩次比較(迭代少于總數(shù)嗎?它等于 true 嗎?)減少到一次比較(它等于 true 嗎?)。將每個迭代中兩次比較減少到一次可以大幅度提高循環(huán)速度。
減少迭代次數(shù):達(dá)夫循環(huán)。在循環(huán)次數(shù)較多時可以有效提高循環(huán)速度。
查表法可以減少條件判斷數(shù)量。當(dāng)有大量離散值需要測試時,if-else 和 switch 都比使用查表法要慢得多。在 JavaScript 中查表法可使用數(shù)組或者普通對象實現(xiàn),查表法訪問數(shù)據(jù)比 if-else 或者 switch 更快,特別當(dāng)條件體的數(shù)目很大時。
制表可以減少重復(fù)計算。通過緩存先前計算結(jié)果為后續(xù)計算所重復(fù)使用,避免了重復(fù)工作。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Js和JQuery獲取鼠標(biāo)指針坐標(biāo)的實現(xiàn)代碼分享
這篇文章主要介紹了Js和JQuery獲取鼠標(biāo)指針坐標(biāo)的實現(xiàn)代碼分享,本文直接給出實現(xiàn)的代碼,需要的朋友可以參考下2015-05-05JS實現(xiàn)自動輪播圖效果(自適應(yīng)屏幕寬度+手機(jī)觸屏滑動)
這篇文章主要介紹了JS實現(xiàn)自動輪播圖效果(自適應(yīng)屏幕寬度+手機(jī)觸屏滑動),需要的朋友可以參考下2017-06-06原生JS實現(xiàn)H5轉(zhuǎn)盤游戲的示例代碼
這篇文章主要介紹了如何利用原生JS實現(xiàn)轉(zhuǎn)盤游戲,可以自由調(diào)整概率。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaScript有一定幫助,需要的可以參考一下2022-03-03《JavaScript高級程序設(shè)計》閱讀筆記(二) ECMAScript中的原始類型
ECMAScript有5種原始類型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof來判斷值的類型2012-02-02