JavaScript中如何優化演算法和流程控制

2021-08-11 05:54:21 字數 548 閱讀 1785

1、迴圈

1)迴圈型別的選擇:for、while、do-while、for-in

除了for-in迴圈之外,其他迴圈型別差不多。除非要迭代乙個屬性數量未知的物件,否則應避免使用for-in迴圈。

2)減少迭代的工作量:

(1)減少物件成員及陣列項的查詢次數。對於item.length,使用區域性變數對其快取,速度可以快25%以上 ;

(2)倒序迴圈:此時,每個控制條件只需簡單與0進行比較,倒序迴圈的執行速度比原版要快50%~60%;

2、條件語句

1)if-else對比switch:

條件數量大,越傾向於使用switch而不是if-else;

2)優化if-else:

(1)確保最有可能的條件放在首位;

(2)採用巢狀語句:二分法的性質

例如:

if (value<6) else if(value==1)else

}elseelse if(value==4)else

}}elseelse

}else

}

JavaScript效能優化

盡量使用區域性變數 減少全域性變數的使用 可以縮小查詢的作用域鏈。使用變數和陣列要比訪問物件上的屬性更有效率。對於多重屬性查詢,將多次使用的屬性查詢儲存在區域性變數中。前 window.location.href.substring window.location.href.indexof 後 va...

javascript中如何使用 和 物件

上述是乙個陣列的另一種定義方式,它相當於 上述是乙個json物件 前面有兩個簡潔的特殊的符號和 它們是一種物件的形式其中不僅僅可以表示陣列,可以直接通過物件的屬性設定值和訪問值。例如 或者它們的功能和作用是一樣的,只有微小區別,稍後說。訪問的時候可以直接通過屬性 alert c a 若要遍歷的話,可...

如何javascript獲取css中的樣式

obj.style.height只能獲取行間樣式,但是我們要怎麼獲取寫在css檔案中的樣式呢?首先我們要用乙個新的方法currentstyle.這個方法由current和style兩個單詞組成意思是 目前的樣式.也就是載入css檔案後取出來的樣式.currentstyle的用法是 元素.curren...