最近終於有時間可以好好把這本書讀一讀,書中部分內容透過經驗的累積或許已經知道了,但再次根據系統性的整理與複習對觀念的鞏固仍然是相當有幫助的,讀完後可說是獲益良多。
Pattern 優點
- 使用前人驗證過的優良實作方式
- 將某些技巧或實作方式命名,增進 developer 間溝通效率
Object 觀念
- number, string, boolean,
null
,undefined
非 object,屬原始型別(primitive type) - function 可擁有 property 與 method,亦屬於 object
- object 只是 properties 的集合(當 property 是 function 時稱作 method),或 key-value pairs 的清單(如其他語言中的 associative array)
- 兩種主要 object:
- Native Object:ECMAScript 標準中所描述,如內建 object(
Array
,Date
, etc.)或使用者定義的 object(var obj = {};
)- Host Object:定義在 host 環境中,如 browser 的
window
object 及 DOM object
- Host Object:定義在 host 環境中,如 browser 的
- Native Object:ECMAScript 標準中所描述,如內建 object(
Prototype 觀念
- 常用 prototype 實作繼承(inheritance)
- prototype 是一個 object,且每個 function 都有 prototype 這個 property
其他
- script 語言通常需要一個執行環境作為 host,如 Ruby 的 host 是 Java,Python 的 host 是 C/C++
- JavaScript 的核心是基於 ECMAScript 標準,ECMAScript 5 於 2009 年 12 月發佈,新增了 strict mode
|
|
- 使用 JSLint 檢測 code,養成正確開發習慣
- 現今大多數 browser 皆支援 console object,是非常用於學習的工具(常用 methods:
log()
,dir()
)