書還沒看完。一遍看,一遍寫讀書筆記。
這本書的序是JavaScript之父Brendan Eich寫的,作者是JavaScript標準化委員會專家。可想而知其質量如何。這本書不厚,和《JavaScript語言精粹》差不多厚,約等於4分之一的《JavaScript權威指南》的厚度。絕對值得一看。
0 本書讚譽
本書的讚譽有來自Chrome開發主管,有來自JSHint的專家,還有一些行業大咖。
如果你想成為一名真正的JavaScript開發者, 那麼請閱讀這本書。就我來說,我多麼希望在第一次開始JavaScript程式設計時就閱讀它。—Anton Kovalyov, JSHint開發者
很少有人有機會同大師一起學習他們的手藝。這本書彌補了這種缺陷,其對JavaScript的研究就像隨一位時間旅行哲學家回到公園前5世紀與柏拉圖一起學習。—Rick Waldron, JavaScript傳教士, Bocoup
1 讓自己習慣JavaScript
有些人說不清哪裡好,可就是誰也替代不了。
第1條:瞭解你使用的JavaScript的版本
第2條:理解JavaScript的浮點數
第3條:當心隱式的強制型別轉換
第4條:原始型別優於封裝物件
第5條:避免對混合型別使用 == 運算子
第6條:瞭解分號插入的侷限
第7條:視字串為16位的程式碼單元序列
2 變數與作用域
作用域對程式設計師來說就像氧氣。它無處不在,甚至,你往往不會去想它。但當它被汙染時,你會感覺到窒息。
第8條: 儘量少使用全域性物件
- 避免宣告全域性變數
- 儘量宣告區域性變數
- 避免對全域性變數增加屬性
第9條:始終宣告區域性變數
第10條:避免使用with語句
第11條:熟練使用閉包
JavaScript的函式值包含了比呼叫他們時執行所需要的程式碼還要更多的資訊。而且,JavaScript函式值還在內部儲存他們可能會引用的定義在其封閉作用域的變數。那些在其所涵蓋的作用域內跟蹤變數的函式稱為閉包。
- JavaScript允許你引用在當前函式以外定義的變數
- 即使外部函式已經返回,當前函式仍然可以引用外部函式定義的變數
- 閉包可以更新外部函式的值