讀書筆記:編寫高質量javascript的68個方法

wangduanduan發表於2017-03-17

書還沒看完。一遍看,一遍寫讀書筆記。

這本書的序是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允許你引用在當前函式以外定義的變數
  • 即使外部函式已經返回,當前函式仍然可以引用外部函式定義的變數
  • 閉包可以更新外部函式的值

第12條:理解變數宣告提升

第13條:使用立即呼叫表示式建立區域性作用域

第14條:當心命名函式表示式笨拙的作用域

第15條:當心區域性塊函式宣告笨拙的作用域

第16條:避免使用evel建立區域性變數

第17條:間接呼叫eval函式函式優於直接呼叫

相關文章