第一部分 向我的小朋友JavaScript問好
第1章 JavaScript簡史
1.1 JavaScript的問世
1.2 JavaScript的發(fā)展:出牙期的疼痛
1.2.1 但它是相同的代碼:瀏覽器的不兼容
1.2.2 蝸牛和大象:JavaScript性能和內存問題
1.2.3 所有罪惡的根源:開發(fā)者!
1.2.4 DHTML——魔鬼的時髦詞
1.3 進化還在繼續(xù):接近可用性
1.3.1 建立一個更好的窗口小部件:代碼結構
1.3.2 重拾好習慣
1.4 終極進化:專業(yè)的JavaScript
1.4.1 瀏覽器
1.4.2 面向對象的JavaScript
1.4.3 “負責的”JavaScript:跡象和前兆
1.5 小結
第2章 成功的JavaScript開發(fā)者的7個習慣
2.1 更多面向對象的JavaScript
2.1.1 簡單的對象創(chuàng)建
2.1.2 使用JSON創(chuàng)建對象
2.1.3 類的定義
2.1.4 原型
2.1.5 你應該使用哪種方法呢
2.1.6 面向對象的好處
2.2 柔性衰減和不唐突的JavaScript
2.2.1 讓JavaScript保持獨立
2.2.2 允許柔性衰減
2.2.3 不要使用瀏覽器嗅探例程
2.2.4 不要寫瀏覽器相關或者語言相關的JavaScript代碼
2.2.5 合適的變量作用域
2.2.6 別用鼠標事件來觸發(fā)需要的事件
2.3 并不只是為了秀:關注可訪問性
2.4 當生活賜予你葡萄,就釀成酒吧:錯誤處理
2.5 當它并沒有向正確的方向發(fā)展時:調試機制
2.6 讓生活更加美好的瀏覽器擴展
2.6.1 Firefox擴展
2.6.2 IE擴展
2.6.3 Maxthon擴展:DevArt
2.7 JavaScript庫
2.7.1 Prototype
2.7.2 Dojo
2.7.3 Java Web Parts
2.7.4 script.aculo.us
2.7.5 YUI庫
2.7.6 MochiKit
2.7.7 Rico
2.7.8 Mootools
2.8 小結
第二部分 項目
第3章 Hodgepodge:構建可擴展的JavaScript庫
3.1 Bill,菜鳥的一天
3.2 全面的代碼組織
3.3 創(chuàng)建包
3.3.1 構建jscript.array包
3.3.2 構建jscript.browser包
3.3.3 構建jscript.datetime包
3.3.4 構建jscript.debug包
3.3.5 構建jscript.dom包
3.3.6 構建jscript.form包
3.3.7 構建jscript.lang包
3.3.8 構建jscript.math包
3.3.9 構建jscript.page包
3.3.10 構建jscript.storage包
3.3.11 構建jscript.string包
3.4 測試所有代碼片段
3.5 練習
3.6 小結
第4章 CalcTron 3000:JavaScript計算器
第5章 怪物混合:混搭
第6章 不要只考慮眼前:客戶端的持久對象
第7章 JSDigester:消除客戶端XML的痛苦
第8章 做正確:JavaScript驗證框架
第9章 癡迷于窗口小部件:使用GUI窗口小部件框架
第10章 支持拖放的購物車
第11章 休息時間:JavaScript游戲
第12章 Ajax:客戶端和服務器端相遇