
xi
推薦序
西元 1995 年,當我在 Netscape 建立 JavaScript 時,我完全沒想到它會變
成在網際網路上被廣泛運用的一種程式語言。我知道我有一點點時間可
將它變成「最低限度可運作的版本」狀態,因此我讓它具備可擴充性,
並可自全域物件向下調整,甚至到基礎階層的資料描述物件協議(例
如:
toString
和
valueOf
,以 Java 相同名稱的方法命名)。
儘管它持續演進並且廣受歡迎,JavaScript 總是受惠於一種漸進式的、謹
慎的指導原則,讓最重要的事情優先處理。我認為這個觀念一定是來自
於匆忙的設計和有意提供的擴充性。我還多加了兩個核心元件,函式和
物件,這樣程式開發人員可以在各方面運用它們,功能上作為每種特殊
工具的通用替代方案。這意味著,學生必須學習哪些工具在什麼工作下
是最適合使用,以及如何正確地使用它們。
Netscape 對我來說像是一陣旋風,或許對自西元 1995 年初的每一個
人都是。它在首次公開募股時,透過
蹩腳
的「Netscape + Java 打倒
Windows」慣用語,誓言要與 Microsoft 競爭;在該年的 IPO 巡迴演說
中,Marc Andreesen 不斷重述這句話。Java 在當時的程式語言領域是居
於老大哥,類似於「蝙蝠俠」的地位,而 JavaScript 只是扮演「羅賓」
角色的一個「直譯式語言」。
但是,在我撰寫初版時(代號為「Mocha」), JavaScript 被深植於
Netscape 瀏覽器,而非 Java;且在同個時間點,我建立了文件物件模型 ...