出版時(shí)間:2012-7 出版社:中國電力出版社 作者:Stoyan Stefanov 頁數(shù):208 字?jǐn)?shù):253000 譯者:陳新
Tag標(biāo)簽:無
內(nèi)容概要
什么是使用JavaScript開發(fā)應(yīng)用程序最好的方法呢?《JavaScript模式》將使用大量JavaScript編碼模式和最佳實(shí)踐來幫您回答該問題。如果您是一名有經(jīng)驗(yàn)的開發(fā)者,正在尋找與對象、函數(shù)、繼承以及其他特定語言分類,那么本書中的抽象方案和代碼模板將是十分理想的指南,無論您正在使用
Javascript編寫客戶端、服務(wù)端,抑或是桌面應(yīng)用程序。
《JavaScript模式》是由JavaScript專家斯特凡洛夫撰寫,Stoyan是 Yahoo公司的資深技術(shù)員,他還是YSlow
2.0(一個(gè)web性能優(yōu)化工具)的技術(shù)架構(gòu)師?!禞avaScript模式》本書包含了實(shí)現(xiàn)每個(gè)討論的模式的實(shí)踐建議,并附有數(shù)個(gè)可以立即上手的范例。同時(shí)還可以學(xué)到一些反模式,一些常見的編程方式,這些編程方式引發(fā)的問題比解決的還多。
作者簡介
作者:(美國)斯特凡洛夫(Stoyan Stefanov) 譯者:陳新
書籍目錄
前言
第1章 簡介
模式
JavaScript:基本概念
ECMAScript 5
JSLint
Coole
第2章 基本技巧
編寫可維護(hù)的代碼
盡量少用全局變量
for循環(huán)
for-in循環(huán)
不要增加內(nèi)置的原型
SWitch模式
避免使用隱式類型轉(zhuǎn)換
使用paeInt()的數(shù)值約定
編碼約定
命名約定
編寫注釋
編寫API文檔
編寫可讀性強(qiáng)的代碼
同行互查
在正式發(fā)布時(shí)精簡代碼
運(yùn)行JSLint
小結(jié)
第3章 字面量和構(gòu)造函數(shù)
對象字面量
自定義構(gòu)造函數(shù)
強(qiáng)制使用new的模式
數(shù)組字面量
JSON
正則表達(dá)式字面量
基本值類型包裝器
錯誤對象
小結(jié)
第4章 函數(shù)
背景
回調(diào)模式
返回函數(shù)
自定義函數(shù)
即時(shí)函數(shù)
即時(shí)對象初始化
初始化時(shí)分支
函數(shù)屬性——備忘模式
配置對象
Curry
小結(jié)
第5章 對象創(chuàng)建模式
命名空間模式
聲明依賴關(guān)系
私有屬性和方法
模塊模式
沙箱模式
靜態(tài)成員
對象常量
鏈模式
method()方法
小結(jié)
第6章 代碼復(fù)用模式
傳統(tǒng)與現(xiàn)代繼承模式的比較
使用類式繼承時(shí)的預(yù)期結(jié)果
類式繼承模式#1——默認(rèn)模式
類式繼承模式#2——借用構(gòu)造函數(shù)
類式繼承模式#3——借用和設(shè)置原型
類式繼承模式#4——共享原型
類式繼承模式#5——臨時(shí)構(gòu)造函數(shù)
Klass
原型繼承
通過復(fù)制屬性實(shí)現(xiàn)繼承
借用方法
小結(jié)
第7章 設(shè)計(jì)模式
單體模式
工廠模式
迭代器模式
裝飾者模式
策略模式
外觀模式
代理模式
中介者模式
觀察者模式
小結(jié)
第8章 DOM和瀏覽器模式
關(guān)注分離
DOM腳本
事件
長期運(yùn)行腳本
遠(yuǎn)程腳本
酉己置JavaScript
載入策略
小結(jié)
章節(jié)摘錄
版權(quán)頁: 插圖: 編寫可讀性強(qiáng)的代碼 為API編寫注釋不僅僅是一種提供參考文檔的簡便方法,而且還有其他用途——通過再次審視代碼,提高代碼質(zhì)量。 幾乎所有的作者和編輯都會告訴您編輯校對工作是十分重要的:這有可能是出版優(yōu)秀書籍和文章中最重要的步驟。將最初的草稿內(nèi)容寫到紙上僅僅是第一步。草稿會傳遞一些信息給讀者,但是這些信息可能不十分清晰、結(jié)構(gòu)性不好,并且不好理解。 編寫代碼也是類似的。當(dāng)您坐下來解決問題時(shí)寫出的解決方案僅僅是一個(gè)初稿。該解決方案可以給出令人期待的輸出,但是該方案是否是最佳方案呢?該代碼是否可讀、易于理解、維護(hù)和升級呢?當(dāng)您再次審視代碼時(shí)您將更加確定代碼哪些部分可以改進(jìn)——如何使得代碼更容易繼續(xù)更新、移除一些不足之處等,這就是編輯校對工作的重要性,它可以極大地幫助您創(chuàng)建高質(zhì)量的代碼。但是通常任務(wù)都是時(shí)間期限很緊張,沒有更多的時(shí)間用于編輯校對(這的確是一個(gè)問題,實(shí)際情況可能是昨天就需要將工作提交)。這也就是為什么編寫API文檔是編輯校對的一個(gè)機(jī)會。 通常在編寫文檔注釋時(shí),會重新思考一些問題,有時(shí)候反省可以使得代碼更清晰。舉例來說,上面范例代碼中方法的第三個(gè)參數(shù)使用比第二個(gè)參數(shù)頻繁得多,并且第二個(gè)參數(shù)通常默認(rèn)設(shè)置為true,那么就可以調(diào)整該方法的接口,交換第二個(gè)和第三個(gè)參數(shù)。編寫可讀性強(qiáng)的代碼意味著在編寫代碼,甚至僅僅是編寫某個(gè)API時(shí),心里都要想著該代碼可能是要提供給其他人閱讀的。這種思維方式將會有助于編輯校對和思考更好的解決問題的方法。 談?wù)摰匠醺鍟r(shí),還有一個(gè)“未雨綢繆”的觀念,這看起來有一些極端,但是這是十分有意義的,特別是當(dāng)手頭上有一個(gè)關(guān)鍵任務(wù)項(xiàng)目時(shí)(人們的生活依賴于此)。這個(gè)觀念是您想出來的第一個(gè)解決方案可能可以解決問題,但是這不過是一個(gè)草稿,是解決問題的方法之一。第二個(gè)解決方法通常要更好,因?yàn)檫@時(shí)對問題的理解會更為深入。在第二個(gè)解決方案中,不允許直接從第一個(gè)方案中復(fù)制、粘貼出來,這樣可以阻止為了簡便而滿足于不完美的解決方案。 同行互查 另外一種優(yōu)化代碼的方式是采取同行互查的方式。同行互查可以采用正式和標(biāo)準(zhǔn)化的途徑,甚至是采用一些專用的工具。將同行互查作為開發(fā)過程中流水化的一部分是十分重要的。在如果沒有足夠時(shí)間來研究和采用審查工具時(shí),也要堅(jiān)持同行互查。這種情形下,可以簡單地走到隔壁,請坐在那里的開發(fā)者來看一下您的代碼。
媒體關(guān)注與評論
Stoyan為JavaScript開發(fā)者編寫了一本開發(fā)大規(guī)模Web應(yīng)用程序的指南?!? ——Ryan Grove Yahoo公司YUI項(xiàng)目工程師
編輯推薦
探索有用的習(xí)慣來編寫高質(zhì)量JavaScript代碼,例如避免使用全局變量、使用單var聲明等; 學(xué)習(xí)為什么字面量表示模式是比構(gòu)造函數(shù)更簡潔的選擇; 探索在JavaScript中不同的定義函數(shù)的方法; 創(chuàng)建超越基本模式對象的對象,基本模式對象通常使用對象字面量和構(gòu)造函數(shù); 學(xué)習(xí)在JavaScript中使用代碼重用和繼承的一些有效選擇; 學(xué)習(xí)常見設(shè)計(jì)模式(單體模式、工廠模式、裝飾模式)在JavaScript中的方法; 檢視應(yīng)用于特定客戶端瀏覽器環(huán)境下的模式。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載