JavaScript 曾是“世界上最被誤解的語言”,因為它擔負太多的特性,包括糟糕的交互和失敗的設計,但隨著Ajax 的到來,JavaScript“從最受誤解的編程語言演變為非常流行的語言”,這除了幸運之外,也證明了它其實是一門的語言。Douglas Crockford 在本書中剝開了JavaScript 沾污的外衣,抽離出一個具有更好性、可讀性和可維護性的JavaScript 子集,讓你看到一門優雅的、輕量級的和非常富有表現力的語言。作者從語法、對象、函數、繼承、數組、正則表達式、方法、樣式和優美的特性這9 個方面來呈現這門語言真正的精華部分,通過它們可以構建出優雅高效的代碼。作者還通過附錄列出了這門語言的毒瘤和糟粕部分,且告訴你如何避免它們。還介紹了JSLint,通過它的檢驗,能有效地保障我們的代碼品質。這是一本介紹JavaScript 語言本質的書籍,值得任何正在或準備從事JavaScript 開發的人閱讀,并且需要反復閱讀。學習、理解、實踐大師的思想,我們才可能站在巨人的肩上,才有機會超越大師,這本書就是開始。
《JavaScript語言精粹(修訂版)》是介紹JavaScript語言本質的書籍,值得任何正在或準備從事JavaScript開發的人閱讀,并且需要反復閱讀。
作者:(美國)道格拉斯 克羅克福德(Douglas Crockford) 譯者:趙澤欣 鄢學鷗
道格拉斯?克羅克福德(Douglas Crockford)是一名來自Yahoo!的博學JavaScript架構師,以創造和維護JSON(Java Object Notation)格式而為大家所熟知。他定期在各類會議上發表有關高級JavaScript的主題演講。他也是ECMAScript委員會的成員之一。
前言
第1 章 精華
為什么要使用JavaScript
分析JavaScript
一個簡單的試驗場
第2 章 語法
空白
標識符
數字
字符串
語句
表達式
字面量
函數
第3 章 對象
對象字面量
檢索
更新
引用
原型
反射
枚舉
刪除
減少全局變量污染
第4 章 函數
函數對象
函數字面量
調用
參數
返回
異常
擴充類型的功能
遞歸
作用域
閉包
回調
模塊
級聯
柯里化
記憶
第5 章 繼承
偽類
對象說明符
原型
函數化
部件
第6 章 數組
數組字面量
長度
刪除
枚舉
容易混淆的地方
方法
指定初始值
第7 章 正則表達式
一個例子
結構
元素
第8 章 方法
Array
Function
Number
Object
RegExp
String
第9 章 代碼風格
第10 章 優美的特性
附錄A 毒瘤
附錄B 糟粕
附錄C JSLint
附錄D 語法圖
附錄E JSON
索引
第4章
函數
JavaScript設計得最出色的就是它的函數的實現。它幾乎接近于。但是,想必你也能預料到,JavaScript的函數也存在瑕疵。 函數包含一組語句,它們是JavaScript的基礎模塊單元,用于代碼復用、信息隱藏和組合調用。函數用于指定對象的行為。一般來說,所謂編程,就是將一組需求分解成一組函數與數據結構的技能。
函數對象
JavaScript中的函數就是對象。對象是“名/值”對的集合并擁有一個連到原型對象的隱藏連接。對象字面量產生的對象連接到Object.prototype。函數對象連接到Function.prototype(該原型對象本身連接到Object.prototype)。每個函數在創建時會附加兩個隱藏屬性:函數的上下文和實現函數行為的代碼。
每個函數對象在創建時也隨配有一個prototype屬性。它的值是一個擁有constructor屬性且值即為該函數的對象。這和隱藏連接到Function.prototype不同。這個令人費解的構造過程的意義將會在下個章節中揭示。
因為函數是對象,所以它們可以像任何其他的值一樣被使用。函數可以保存在變量、對象和數組中。函數可以被當做參數傳遞給其他函數,函數也可以再返回函數。而且,因為函數是對象,所以函數可以擁有方法。
函數的與眾不同之處在于它們可以被調用。
調用
調用一個函數會暫停當前函數的執行,傳遞控制權和參數給新函數。除了聲明時定義的形式參數,每個函數還接收兩個附加的參數:this和arguments。參數this在面向對象編程中非常重要,它的值取決于調用的模式。在JavaScript中一共有4種調用模式:方法調用模式、函數調用模式、構造器調用模式和apply調用模式。這些模式在如何初始化關鍵參數this上存在差異。
調用運算符是跟在任何產生一個函數值的表達式之后的一對圓括號。圓括號內可包含零個或多個用逗號隔開的表達式。每個表達式產生一個參數值。每個參數值被賦予函數聲明時定義的形式參數名。當實際參數(arguments)的個數與形式參數(parametem)的個數不匹配時,不會導致運行時錯誤。如果實際參數值過多了,超出的參數值會被忽略。
書還是很好的。。紙質不屬于白色亮面的那種。。有點發灰黃,稍微有點糙,書本也有一股怪味道。剛打手大致的翻閱了一下。沒有印刷排版錯誤。
還不錯的書,很精致,知識點也很精煉,和js權威指南可以搭配看
據說是非常經典,但境界有限。。還理解不了其中的奧妙
略微有點偏,翻譯的比較難理解。沒基礎的看著比較吃力。整本書邏輯連接太多了。
很久就想買這本書了,感覺還不錯,隨手翻了一遍,印刷的還可以,快遞大哥的服務也很滿意,nice
可以的,確實精髓,但不是針對零基礎的,必須要有點編程經驗
精粹就是精粹,javascript的精華。這本書很薄,讀起來卻要很久
JAVASCRIPT語言精粹(修訂版)白 標識符 數字N 字符串 語句 表V
工具書,非常好,正在努力學習鉆研中,希望有心得,JScript一定要好好學
書比較薄,不過還沒看,打算把權威指南看完了,再看這個,
整體不錯,比較滿意,比較經典,JS語言精粹,書很薄,但涉及的知識和技術點很多,一定要好好看,好好學,把JS技術迅速提高上去。
之前看到網上很多人都推薦這本,買來很快就讀完了。不愧是javascript的大牛,小而美,把js的精華都講的很透徹,適合對js有一定經驗的人來提升對js的整體理解。
一直用當當 速度很快 給力 希望越來也好 越來越劃算
很贊的一本書,就是有些地方還是不太明白,加油
這不同于國內那些教科書,都像小學數學書一樣,列公式,告訴你怎樣做。這本書應該是作者對js的理解。所以更像是一本語文書。推薦購買,但是購買之前可以先上網看一下簡單的語法。
書挺薄的,書中的內容也都是相當淺顯易懂的,但是總感覺書中的內容太少,如果你有javascript的基礎,還是不要買了!
JAVASCRIPT語言精粹(修訂版)變量污染 第章函數 函數對象 函數字面量 調6用 參數 返回 異常 擴充類型的
JavaScript語言精粹,翻譯的好書,就是太薄了!
與犀牛書擺在一起,形象的說明了JavaScript這種語言的特點。≧▽≦
JAVASCRIPT語言精粹(修訂版)語句 表達式 字面10量 Q8函數 第章對象 Q對象字面量 檢索 更新 引用 原型 反射
好吧,適合對JavaScript有一定了解的人,講了好多的細節,不錯
這本書不說了,JavaScript領域的經典,不過并不適合初學者。
學習久了JavaScript多少會有一種遇到瓶頸的感覺,這個時候重新學習會是一種不錯的做法,而看經典的書籍來重新學習則是更好的做法,推薦。
字體與紙質都非常令人舒服,整體還是O'reilly一貫的風格。對于JS的一些奇怪的機制和特點講的還算比較清楚。但是在一定程度上可以說本書是作者心中的語言精粹,看的出來作者還是持有一定偏見的。不過整體還好。另外,幾乎沒怎么講DOM。
JavaScript的精品書,里面大量使用鐵路圖進行語法講解,我想可能會對新手有點不友好。比較推薦已經入門的JavaScript使用者購買
不太適合初學者看,中間的鐵路圖也不是很習慣。買來是在通勤途中看的,不建議初學者買,有一定基礎的研究下還是很好的。畢竟作者覺得じゃJavaScript有很多設計弊端,并說出了其精華之處
數字 字符串 語句 表達式 字面量 函數 第2章對象 對象字面量 檢10索 W更新 引用 原型 反射 枚舉 JAVASCRQIPT語言精粹(修訂版)刪除 減少全局變量污染 第章函數 函數對象 函數字面量 調用 參數