如同其餘編程語言,代碼的寫法和算法會影響javascript的運行時間。與其餘語言不一樣的是,javascript可用資源有限,所以優化技術更爲重要。javascript
一、for,while和do-while循環性能特性類似,因此沒有一種循環類型明顯快於或慢於其餘類型。java
二、避免使用for-in循環,除非你須要遍歷一個屬性數量未知的對象。算法
三、改善循環性能的最佳方式是減小每次迭代的運算量和減小循環迭代次數。編程
四、一般來講,switch老是比if-else快,但總不是最佳解決方案。瀏覽器
五、在判斷條件較多時,使用查找表比if-else和switch更快。編程語言
六、瀏覽器的調用棧大小限制了遞歸算法在javascript中的應用;棧溢出錯誤會致使其餘代碼中斷運行。性能
七、若是你遇到棧溢出錯誤,可將方法改成迭代算法,或使用memoization來避免重複計算。優化
運行的代碼數量越大,使用這些策略所帶來的性能提高也就越明顯對象