出版時間:2012-9 出版社:電子工業(yè)出版社 作者:道格拉斯·克羅克福德 頁數(shù):172 譯者:趙澤欣,鄢學鹍
Tag標簽:無
內容概要
JavaScript 曾是“世界上最被誤解的語言”,因為它擔負太多的特性,包括糟糕的交互和失敗的設計,但隨著Ajax 的到來,JavaScript“從最受誤解的編程語言演變?yōu)樽盍餍械恼Z言”,這除了幸運之外,也證明了它其實是一門優(yōu)秀的語言。Douglas Crockford 在本書中剝開了JavaScript 沾污的外衣,抽離出一個具有更好可靠性、可讀性和可維護性的JavaScript 子集,讓你看到一門優(yōu)雅的、輕量級的和非常富有表現(xiàn)力的語言。作者從語法、對象、函數(shù)、繼承、數(shù)組、正則表達式、方法、樣式和優(yōu)美的特性這9 個方面來呈現(xiàn)這門語言真正的精華部分,通過它們完全可以構建出優(yōu)雅高效的代碼。作者還通過附錄列出了這門語言的毒瘤和糟粕部分,且告訴你如何避免它們。最后還介紹了JSLint,通過它的檢驗,能有效地保障我們的代碼品質。這是一本介紹JavaScript 語言本質的權威書籍,值得任何正在或準備從事JavaScript 開發(fā)的人閱讀,并且需要反復閱讀。學習、理解、實踐大師的思想,我們才可能站在巨人的肩上,才有機會超越大師,這本書就是開始。
作者簡介
作者:(美國)道格拉斯·克羅克福德(Douglas Crockford) 譯者:趙澤欣 鄢學鷗 道格拉斯·克羅克福德(Douglas Crockford)是一名來自Yahoo!的資深JavaScript架構師,以創(chuàng)造和維護JSON(Javascript Object Notation)格式而為大家所熟知。他定期在各類會議上發(fā)表有關高級JavaScript的主題演講。他也是ECMAScript委員會的成員之一。
書籍目錄
前言 第1章精華1 為什么要使用JavaScript2 分析JavaScript2 一個簡單的試驗場4 第2章語法5 空白5 標識符6 數(shù)字7 字符串8 語句10 表達式15 字面量18 函數(shù)19 第3章對象20 對象字面量20 檢索21 更新22 引用22 原型22 反射23 枚舉24 刪除24 減少全局變量污染25 第4章函數(shù)26 函數(shù)對象26 函數(shù)字面量27 調用27 參數(shù)30 返回31 異常31 擴充類型的功能32 遞歸33 作用域36 閉包36 回調39 模塊40 級聯(lián)42 柯里化43 記憶43 第5章繼承46 偽類46 對象說明符49 原型50 函數(shù)化51 部件55 第6章數(shù)組57 數(shù)組字面量57 長度58 刪除59 枚舉59 容易混淆的地方60 方法60 指定初始值62 第7章正則表達式64 一個例子65 結構69 元素71 第8章方法77 Array77 Function83 Number84 Object85 RegExp86 String88 第9章代碼風格94 第10章優(yōu)美的特性98 附錄A毒瘤101 附錄B糟粕109 附錄CJSLint115 附錄D語法圖127 附錄EJSON138 索引149
章節(jié)摘錄
版權頁: 插圖: 第4章 函數(shù) JavaScript設計得最出色的就是它的函數(shù)的實現(xiàn)。它幾乎接近于完美。但是,想必你也能預料到,JavaScript的函數(shù)也存在瑕疵。 函數(shù)包含一組語句,它們是JavaScript的基礎模塊單元,用于代碼復用、信息隱藏和組合調用。函數(shù)用于指定對象的行為。一般來說,所謂編程,就是將一組需求分解成一組函數(shù)與數(shù)據(jù)結構的技能。 函數(shù)對象 JavaScript中的函數(shù)就是對象。對象是“名/值”對的集合并擁有一個連到原型對象的隱藏連接。對象字面量產生的對象連接到Object.prototype。函數(shù)對象連接到Function.prototype(該原型對象本身連接到Object.prototype)。每個函數(shù)在創(chuàng)建時會附加兩個隱藏屬性:函數(shù)的上下文和實現(xiàn)函數(shù)行為的代碼。 每個函數(shù)對象在創(chuàng)建時也隨配有一個prototype屬性。它的值是一個擁有constructor屬性且值即為該函數(shù)的對象。這和隱藏連接到Function.prototype完全不同。這個令人費解的構造過程的意義將會在下個章節(jié)中揭示。 因為函數(shù)是對象,所以它們可以像任何其他的值一樣被使用。函數(shù)可以保存在變量、對象和數(shù)組中。函數(shù)可以被當做參數(shù)傳遞給其他函數(shù),函數(shù)也可以再返回函數(shù)。而且,因為函數(shù)是對象,所以函數(shù)可以擁有方法。 函數(shù)的與眾不同之處在于它們可以被調用。 調用 調用一個函數(shù)會暫停當前函數(shù)的執(zhí)行,傳遞控制權和參數(shù)給新函數(shù)。除了聲明時定義的形式參數(shù),每個函數(shù)還接收兩個附加的參數(shù):this和arguments。參數(shù)this在面向對象編程中非常重要,它的值取決于調用的模式。在JavaScript中一共有4種調用模式:方法調用模式、函數(shù)調用模式、構造器調用模式和apply調用模式。這些模式在如何初始化關鍵參數(shù)this上存在差異。 調用運算符是跟在任何產生一個函數(shù)值的表達式之后的一對圓括號。圓括號內可包含零個或多個用逗號隔開的表達式。每個表達式產生一個參數(shù)值。每個參數(shù)值被賦予函數(shù)聲明時定義的形式參數(shù)名。當實際參數(shù)(arguments)的個數(shù)與形式參數(shù)(parametem)的個數(shù)不匹配時,不會導致運行時錯誤。如果實際參數(shù)值過多了,超出的參數(shù)值會被忽略。
編輯推薦
《JavaScript語言精粹(修訂版)》是介紹JavaScript語言本質的權威書籍,值得任何正在或準備從事JavaScript開發(fā)的人閱讀,并且需要反復閱讀。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載