圖書信息
出版社: 電子工業出版社; 第1版 (2008年4月1日)
平裝: 458頁
正文語種: 簡體中文
ISBN: 978-7121-061233
尺寸: 26.2 x 18.8 x 2.6 cm
重量: 880 g
作者簡介
夏天,高級系統架構師,
Web架構導師,具有十多年專業的軟體開發、架構設計和項目管理的經驗。擅長面向對象的分析設計,及基於
B/S的各種語言套用、開發、架構、設計、熟悉多種開發語言,如
C/
C++/
Java等。曾先後在金山、銀海軟體就職。
內容簡介
《JavaScript高級套用與實踐》涵蓋大量提升JavaScript性能的一些技巧、鮮為人知的寫法,以及JavaScript在Web項目中某些智慧型的、經典的設計。《JavaScript高級套用與實踐》在講解過程中會有大量的例程和各種寫法運行耗時的性能比較,給你展示了如何最佳化
JavaScript的性能、一些非常獨特而又能提升JavaScript性能的技巧(涵蓋了當前網路中流行的JavaScript框架的大多數技巧)以及每天海量交易項目的JavaScript相關經驗。其中,很多經驗性的思想描述和方法可以套用於各種語言的編程。另外,《JavaScript高級套用與實踐》還闡述了大量的JavaScript泛型設計,以及JavaScript在
JSON-RPC和WebDAV中的套用並給出了相關的
Java設計。
最後《JavaScript高級套用與實踐》的所有例程代碼將組合為一套功能強大的基於
CSS、
XPath選擇器模型的JavaScript框架,使
Web的開發就如同基於
XPath的文檔開發一樣便捷。
目錄
第1章 快速入門
1.1 閱讀本書方式
1.2 規範和約定
1.3 本書公共代碼(Jcore.js)導讀
1.4 本書常見代碼語法預閱
1.5 不推薦的中文命名方式
1.6 本書的寫作思想
第2章 Function擴展和性能
2.1 關於Function的設計原則建議
2.2 arguments,length
2.3 toString方法和valueOf方法
2.4 Function的toString還有個妙用
2.5 綁定技術HTMLDOM對象事件動態行為綁定
2.6 JavaScript中的this()是什麼
2.7 綁定NaN、Infinity、null、undefined給對象,this會是什麼
2.8 Function對象的apply和call的區別
2.9 不用new的時候應該注意什麼
2.10 如何給你的function增加[]運算符號的支持Web項目中HTMLDOM的套用
2.11 如何讓你的this加、減、乘、除
2.12 回調函式之函式“類型”流行中的AJAX里的回調套用
2.13 打造方便的調試函式
2.14 匿名函式
2.15 匿名函式的遞歸調用
2.16 繼承後如何在函式中訪問Super的簡化設計
2.17 靜態函式、屬性的訪問問題
2.18 總結
第3章 Object擴展和性能及Web套用之神兵利器
3.1 typeof和constructor總結
3.2 高性能初始化
3.3 當心,這裡的bind對我無用
3.4 完美之綁定(bind)將通用於Object、Function和其他對象,同時支持給Object增加[]運算符號
3.5 通用屬性複製
3.6 “繼承”
3.7 多態
3.8 推薦的對象模型方法[優點:一個名稱空間,更便於記憶體才清理和釋放]
3.9 Json引入
3.10 toString
3.11 融合HTMLDOM支持的完美通用對象疊代器模型設計之each
3.12 通用疊代模式的元素屬性的獲取和設定Style外觀樣式對象的獲取和設定設計
3.13 通用對象排序模型設計之繼承Array的相關功能
3.14 isPrototypeOf和hasOwnProperty
3.15 給所有JavaScript對象擴展屬性、方法
3.16 打造“完美中的完美”的HTMLDOM對象XPath對象選擇器
3.17 不要被怪物嚇倒:0.1 234[“each”]、true[“each”]
3.18 泛型設計之保留四捨五入保留小數:toFixed
3.19 addClass、removeClass、toggleClass、mstgcls、remove的擴展設計
第4章 Array擴展和獨闢蹊徑的套用
4.1 高性能初始化
4.2 數字下標
4.3 文本下標
4.4 “特殊”數字下標揭秘
4.5 對象下標揭秘
4.6 疊代器
4.7 擴展Array及套用
4.8 Array函式功能增強
4.9 給自己定義的對象增加[]運算符號
第5章 String的擴展
5.1 如何將自定義對象直接賦予HTMLDOM的innerText、innerHTML、value和其他屬性
5.2 擴展自己的append方法
5.3 也談StringBuffer
5.4 擴展自己的trim、trimAll、trimL、trimR
5.5 兼容Java時equals的擴展
5.6 把replace玩到顛峰
5.7 轉換漢字及雙位元組字元為Unicode
5.8 加密我的String加、解密的實現
5.9 Web常用驗證功能集
5.10 類似Java里的參數功能:toString的{1……n}參數模式的合成
5.11 String的Left、Right、Mid擴展
第6章 For的最佳化和性能提升
6.1 使用For…in應該注意什麼
6.2 do{……}while()和for的性能比較
6.3 匿名函式對象對性能的提升
6.4 倒著循環對性能的提升
6.5 最佳性能for的設計
6.6 本章for各種實現性能綜合比較
第7章 window對象的性能套用
7.1 alert,你讓我的session去哪裡了——如何讓你的session永不過期的獨有設計
7.2 神來之this,前面章節釋疑
7.3 如何凍結你的業務辦理系統的操作界面[支持iframe和frames的多層嵌套]
7.4 通用“多執行緒”模型設計
7.5 execScript實現你的js檔案import功能
7.6 通用彈出視窗的對象共享套用設計,支持N層的彈出視窗及Web套用舉例
7.7 createPopup的問題
仿效MSN的訊息提示
7.8 記得釋放你的記憶體onunload
表單修改狀態在頁面離開的時候進行提示保存
7.9 *、!、![全形]在getElementsByTag-Name的特殊功效,和document.all的區別
7.10 局部刷新技術
7.11 處理好你組件的寬度
7.12 任意可見對象大小的滑鼠可互動調整的支持
第8章 Form開發經驗之談
8.1 通用獲取輸入對象元素value的設計
8.2 通用設定輸入對象元素value的設計
8.3 異步支持設計
8.4 動態支持上傳N個檔案的封裝設計
8.5 Web開發中自定義輸入對象組和表達式求值的設計
8.6 Web開發中人性化輸入值長度游標跟蹤提示
8.7 如何在必輸項沒有輸入值前其相關按鈕、對象不可以操作
8.8 如何令表格中沒有選擇radio、checkbox輸入對象的時候相應的
8.8 按鈕、相應的對象不可以操作
8.9 AJAX讓你的網站支持多語言——多語言的googleTranslateAJAX的封裝
第9章 HTC
9.1 自定義html界面元素標籤
9.2 behavior的autocomplete下拉輸入對象的設計
9.3 HTC的Bug
9.4 HTMLDOM的resize滑鼠的支持設計
第10章 HTA
10.1 什麼是HTA
10.2 HTA的特點
10.3 打造自己的功能強大的searchAndReplace
第11章 JavaScript封裝其他語言能調用的DCOM
11.1 JS封裝的DCOM的特點
11.2 JavaScript封裝的DCOM的套用範圍
11.3 支持功能強大的JavaScript動態語言的設計
11.4 支持功能強大的VBScript動態語言的設計
11.5 JScript.Encode解密的封裝
11.6 Base64編、解碼的封裝
11.7 繁、簡體漢字相互轉換的封裝
第12章 JavaScript其他最佳化
12.1 發布版本代碼最佳化原則:能少則少
12.2 if…elseif和switch的性能比較
12.3 Date到Number的性能比較
12.4 !!是什麼
12.5 不推薦使用with關鍵字
12.6 很少用的幾個關鍵字void,delete,instanceof,throw,finally,arguments
12.7 void用於函式的定義和調用
第13章 Web開發中Table相關經典設計
13.1 快速多列組合排序的設計
13.2 快速改變列風格
13.3 根據規則快速改變TD風格
13.4 自定義多列關係表達式動態求值並填寫到指定列上
13.5 模擬多執行緒在表格快速排序中的套用
第14章 支持級聯調用的JSON-RPCforJava輕量級框架的實現及套用
14.1 配置
14.2 原理
14.3 框架實現及級聯調用套用示例
14.4 可級聯調用輕量級JSON-RPC框架在網站多語言智慧型轉換中的套用
14.5 JSON-RPC在Web項目中的套用
第15章 JavaScript在WebDAV中的套用
15.1 什麼是WebDAV
15.2 WebDAV有哪些優點
15.3 WebDAV配置
15.4 Office等類型檔案的線上編輯
15.5 WebDAVfolder在上傳檔案、目錄等資源上的引用
附錄A
附錄B
參考文獻