剛剛看了一篇《JavaScript代碼優化指南》(http://www.cnblogs.com/HCJJ/p/6218385.html)。html
寫JS代碼確實有不少小技巧,若是根據日期遠遠及近看個人博客裏的我本身寫的一些「小東西」,能夠發現我寫的JS代碼在一些細節處理上是不斷變化的,當你知道一個更好的代碼書寫或處理方式,那爲何不嘗試着去用下呢。在我寫這篇博文前最新的寫的貪吃蛇的代碼裏,能夠看到變量聲明合併,創建一個對象來保存全局變量,緩存DOM,縮短循環檢測,使用文檔碎片等等都是已經用到了的小技巧。而這篇文章裏還提到了更多的技巧,好比取整我經常使用的是parseInt(),而文章則提出使用~符號,~~num的效果就是取整,具體原理能夠自行搜索。編程
這篇文章12.2中提到的語句塊的函數聲明我曾在知乎上提問過相同的問題(https://www.zhihu.com/question/53191567)。緩存
再說一些這篇文章裏沒有提到的:函數
do-while循環是要比for循環效率高的,雖然只高一點點,在循環終止判斷上do-while是「後測試」,而for是「前測試」,因此do-while能夠比for少一次判斷。可是do-while循環不能像for循環那樣有多個斷定條件。測試
在使用for循環時,使用相似for ( var i = length; i > 0; i--) 要比 for (var i = 0, l = length; i > l; i++) 要更好,由於前者的時間複雜度是從O(n)到O(0),然後者則相反。優化
當循環的次數是肯定的,那麼屢次調用處理函數(而不是放循環裏)每每會更快;當循環中的迭代次數而且最壞狀況下次數較大,那麼可使用Duff裝置,Duff裝置的原理比較簡單,能夠自行百度。htm
寫到這裏就又想說好好學一本經典的好書對於編程能力的提高是巨大的,好比《JavaScript高級程序》,推薦的那篇文章以及我寫的博文提到的大部分均可以在這本書裏找到。對象