• 讀書網|DuShu.com - 讀書·學習·生活
  •  | 簡體版
  • 論壇
  • 暢銷
  • 連載
  • 圖書
  • 資訊
  • 首頁
  • 國學/古籍 | 文學藝術 | 人文社科 | 經濟管理 | 生活時尚 | 科學技術 | 教材教輔 | 少兒讀物
  •    
  • 圖書搜索:
  •  
     全部圖書 可讀圖書 可購圖書
     
  • JAVASCRIPT語言精髓與編程實踐 - 書籍詳細信息
  • 查看同類圖書:科學技術»計算機/網絡»軟件與程序設計»網絡編程»JAVASCRIPT語言精髓與編程實踐
  • JAVASCRIPT語言精髓與編程實踐

  • 【作 者】:周愛民
  • 【叢編項】:動態語言技術精品書廊
  • 【裝幀項】:精裝 16開 / 509
  • 【出版項】:電子工業出版社 / 2008.3
  • 【ISBN號】:9787121056871 / 7121056879
  • 【原書定價】:¥68.00 有4家書店打折銷售 
  • 【主題詞】:計算機-軟件與程序設計-網絡編程-JAVASCRIPT
  • 【圖書簡介】
      本書詳細講述JavaScript作為一種混合式語言的各方面特性,包括過程式、面向對象、函數式和動態語言特性等,在動態函數式語言特性方面有著尤為細致的講述。本書的主要努力之一,就是分解出這些語言原子,并重現將它們混合在一起的過程與方法。通過從復雜性到單一語言特性的還原過程,讀者可了解到語言的本質,以及“層出不窮的語言特性”背后的真相。

      本書主要的著述目的是基于一種形式上簡單的語言來講述“語言的本質及其應用”。本書詳細講述了通過框架執行過程來構造一個JavaScript擴展框架的方法,并完整地講述了框架擴展中各種設計取舍,因此可以作為學習研究計算機程序設計語言時的參考,用以展示現實系統如何實現經典理論中的各種編程范型。
  • 【作者簡介】
      國內軟件開發界資深軟件工程師,從1996年開始涉足商業軟件開發,歷任部門經理、區域總經理、高級軟件工程師、平臺架構師等職。周愛民先生在軟件開發、軟件工程、團隊建設以及部門管理方面經驗豐富,是BorlandDelphi產品技術專家,也是Qomo開源項目(JavaScript)的發起者。在JavaScript開發方面,有超過9年的實踐經驗。
      2003年5月,被美國Borland公司授予“Borland Delphi產品專家”稱號,并授予“論壇特別貢獻獎”。2004年8月,出版軟件開發專著《Delphi源代碼分析》,被業界譽為“Delphi領域精品著作”。2005年12月,發起JavaScript開源項目Qomolangma(Qomo),研究語言特性、框架設計與企業級應用庫。2007年4月,出版軟件工程專著《大道至簡——軟件工程實踐者的思想》,被譽為“激蕩新思的佳作”。2007年11月,參加CSDN主辦的軟件開發大會(SD2C),主講“JavaScript引擎技術”。
  • 【本書目錄】
    第1部分  語言基礎    1
    第1章  十年JAVASCRIPT    3
    1.1  網頁中的代碼    3
    1.1.1  新鮮的玩意兒    3
    1.1.2  第一段在網頁中的代碼    4
    1.1.3  最初的價值    5
    1.2  用JAVASCRIPT來寫瀏覽器上的應用    6
    1.2.1  我要做一個聊天室    6
    1.2.2  Flash的一席之地    9
    1.2.3  RWC與RIA之爭    10
    1.3  沒有框架與庫的語言能怎樣發展呢?    12
    1.3.1  做一個框架    12
    1.3.2  重寫框架的語言層    15
    1.3.3  富瀏覽器端開發(RWC)與AJAX    16
    1.4  為JAVASCRIPT正名    18
    1.4.1  JavaScript    18
    1.4.2  Core JavaScript    19
    1.4.3  SpiderMonkey JavaScript    20
    1.4.4  ECMAScript    20
    1.4.5  JScript    21
    1.4.6  總述    21
    1.5  JAVASCRIPT的應用環境    22
    1.5.1  宿主環境(host environment)    23
    1.5.2  外殼程序(Shell)    24
    1.5.3  運行期環境(runtime)    25
    第2章  JAVASCRIPT的語法    27
    2.1  語法綜述    27
    2.1.1  標識符所綁定的語義    28
    2.1.2  識別語法錯誤與運行錯誤    29
    2.2  JAVASCRIPT的語法:變量聲明    29
    2.2.1  變量的數據類型    30
    2.2.2  變量聲明    32
    2.2.3  變量聲明中的一般性問題    33
    2.3  JAVASCRIPT的語法:表達式運算    40
    2.3.1  一般表達式運算    42
    2.3.2  邏輯運算    42
    2.3.3  字符串運算    43
    2.3.4  比較運算    44
    2.3.5  賦值運算    48
    2.3.6  函數調用    49
    2.3.7  特殊作用的運算符    50
    2.3.8  運算優先級    51
    2.4  JAVASCRIPT的語法:語句    53
    2.4.1  表達式語句    54
    2.4.2  分支語句    63
    2.4.3  循環語句    66
    2.4.4  流程控制:一般子句    68
    2.4.5  流程控制:異常    74
    2.5  面向對象編程的語法概要    75
    2.5.1  對象直接量聲明與實例創建    76
    2.5.2  對象成員列舉、存取和刪除    80
    2.5.3  屬性存取與方法調用    84
    2.5.4  對象及其成員的檢查    85
    2.5.5  可列舉性    87
    2.5.6  默認對象的指定    89
    2.6  運算符的二義性    89
    2.6.1  加號“+”的二義性    90
    2.6.2  括號“( )”的二義性    92
    2.6.3  冒號“:”與標簽的二義性    93
    2.6.4  大括號“{ }”的二義性    94
    2.6.5  逗號“,”的二義性    97
    2.6.6  方括號“[ ]”的二義性    100
    第2部分  語言特性及基本應用    105
    第3章  JAVASCRIPT的非函數式語言特性    107
    3.1  概述    107
    3.1.1  命令式語言與結構化編程    108
    3.1.2  結構化的疑難    110
    3.1.3  “面向對象語言”是突破嗎?    112
    3.1.4  更高層次的抽象:接口    115
    3.1.5  再論語言的分類    117
    3.1.6  JavaScript的語源    119
    3.2  基本語法的結構化含義    121
    3.2.1  基本邏輯與代碼分塊    121
    3.2.2  模塊化的層次:語法作用域    124
    3.2.3  執行流程及其變更    129
    3.2.4  模塊化的效果:變量作用域    138
    3.2.5  語句的副作用    145
    3.3  JAVASCRIPT中的原型繼承    148
    3.3.1  空對象(null)與空的對象    148
    3.3.2  原型繼承的基本性質    149
    3.3.3  空的對象是所有對象的基礎    150
    3.3.4  構造復制?寫時復制?還是讀遍歷?    151
    3.3.5  構造過程:從函數到構造器    153
    3.3.6  預定義屬性與方法    154
    3.3.7  原型鏈的維護    155
    3.3.8  原型繼承的實質    160
    3.4  JAVASCRIPT的對象系統    165
    3.4.1  封裝    165
    3.4.2  多態    167
    3.4.3  事件    169
    3.4.4  類抄寫?或原型繼承?    171
    3.4.5  JavaScript中的對象(構造器)    176
    3.4.6  不能通過繼承得到的效果    178
    第4章  JAVASCRIPT的函數式語言特性    181
    4.1  概述    181
    4.1.1  從代碼風格說起    182
    4.1.2  為什么常見的語言不贊同連續求值    182
    4.1.3  函數式語言的淵源    184
    4.2  函數式語言中的函數    186
    4.2.1  函數是運算元    186
    4.2.2  在函數內保存數據    187
    4.2.3  函數內的運算對函數外無副作用    188
    4.3  從運算式語言到函數式語言    189
    4.3.1  JavaScript中的幾種連續運算    190
    4.3.2  運算式語言    194
    4.3.3  如何消滅掉語句    198
    4.4  函數:對運算式語言的補充和組織    202
    4.4.1  函數是必要的補充    202
    4.4.2  函數是代碼的組織形式    204
    4.4.3  重新認識“函數”    205
    4.4.4  JavaScript語言中的函數式編程    208
    4.5  JAVASCRIPT中的函數    209
    4.5.1  可變參數與值參數傳遞    210
    4.5.2  非惰性求值    213
    4.5.3  函數是第一型    215
    4.5.4  函數是一個值    217
    4.5.5  可遍歷的調用棧    218
    4.6  閉包    222
    4.6.1  什么是閉包    223
    4.6.2  什么是函數實例與函數引用    224
    4.6.3  (在被調用時,)每個函數實例至少擁有一個閉包    226
    4.6.4  函數閉包與調用對象    228
    4.6.5  函數實例擁有多個閉包的情況    236
    4.6.6  語句或語句塊中的閉包問題    238
    4.6.7  閉包中的標識符(變量)特例    240
    4.6.8  函數對象的閉包及其效果    242
    4.6.9  閉包與可見性    244
    第5章  JAVASCRIPT的動態語言特性    253
    5.1  概述    253
    5.1.1  動態數據類型的起源    254
    5.1.2  動態執行系統的起源    254
    5.1.3  腳本系統的起源    256
    5.1.4  腳本只是一種表面的表現形式    257
    5.2  動態執行(EVAL)    259
    5.2.1  動態執行與閉包    259
    5.2.2  動態執行過程中的語句、表達式與值    263
    5.2.3  奇特的、甚至是負面的影響    265
    5.3  動態方法調用(CALL與APPLY)    267
    5.3.1  動態方法調用中指定this對象    267
    5.3.2  丟失的this引用    269
    5.3.3  棧的可見與修改    270
    5.3.4  兼容性:低版本中的call()與apply()    272
    5.4  重寫    275
    5.4.1  原型重寫    275
    5.4.2  構造器重寫    276
    5.4.3  對象成員的重寫    289
    5.4.4  宿主對重寫的限制    292
    5.4.5  引擎對重寫的限制    297
    5.5  包裝類:面向對象的妥協    301
    5.5.1  顯式包裝元數據    302
    5.5.2  隱式包裝的過程與檢測方法    303
    5.5.3  包裝值類型數據的必要性與問題    305
    5.5.4  其他直接量與相應的構造器    306
    5.6  關聯數組:對象與數組的動態特性    309
    5.6.1  關聯數組是對象系統的基礎    309
    5.6.2  用關聯數組實現的索引數組    310
    5.6.3  干凈的對象    313
    5.7  類型轉換    316
    5.7.1  宿主環境下的特殊類型系統    317
    5.7.2  值運算:類型轉換的基礎    319
    5.7.3  隱式轉換    320
    5.7.4  值類型之間的轉換    322
    5.7.5  從引用到值:深入探究valueOf()方法    327
    5.7.6  到字符串類型的顯式轉換    329
    第3部分  編程實踐    335
    第6章  QOMO框架的核心技術與實現    337
    6.1  QOMO框架的技術發展與基本特性    337
    6.1.1  Qomo框架的技術發展    337
    6.1.2  Qomo的體系結構    342
    6.1.3  Qomo框架設計的基本原則    343
    6.2  基于類繼承的對象系統    345
    6.2.1  Qomo類繼承的基本特性    345
    6.2.2  Qomo類繼承的語法    347
    6.2.3  Qomo類繼承系統的實現    351
    6.2.4  Qomo類繼承系統的高級話題    371
    6.3  多投事件系統    385
    6.3.1  多投事件系統的基本特性與語法    385
    6.3.2  多投事件系統的實現    387
    6.3.3  多投事件的中斷與返回值    390
    6.3.4  多投事件系統的安全性    391
    6.4  接口系統    393
    6.4.1  基本概念與語法    395
    6.4.2  接口實現    398
    6.4.3  Qomo接口系統的高級話題    401
    6.4.4  接口委托    408
    6.4.5  Qomo接口系統的實現    418
    6.5  命名空間    426
    6.5.1  Qomo命名空間的復雜性    426
    6.5.2  命名空間的使用    429
    6.5.3  命名空間的實現    433

    6.6  AOP    434
    6.6.1  基本概念與語法    435
    6.6.2  高級切面特性    439
    6.6.3  Qomo中切面系統的實現    447
    6.7  其他    449
    6.7.1  裝載、內聯與導入    449
    6.7.2  四種模板技術    453
    6.7.3  出錯處理    459
    6.7.4  其他功能模塊    460
    第7章  一般性的動態函數式語言技巧    469
    7.1  消除代碼的全局變量名占用    469
    7.2  一次性的構造器    471
    7.3  對象充當識別器    472
    7.4  識別NEW運算進行的構造器調用    474
    7.5  使用直接量及其包裝類快速調用對象方法    475
    7.6  三天前是星期幾?    476
    7.7  使用對象的值含義來構造復雜對象    477
    7.8  控制字符串替換過程的基本模式    480
    7.9  實現二叉樹    481
    7.10  將函數封裝為方法    483
    7.11  使用WITH語句來替代函數參數傳遞    485
    7.12  使用對象閉包來重置重寫    486
    7.13  構造函數參數    488
    7.14  使用更復雜的表達式來消減IF語句    491
    7.15  利用鉤子函數來擴展功能    493
    7.16  安全的字符串    495
    附錄A:術語表    497
    附錄B:主要引擎的特性差異列表    503
    附錄C:附圖    505
    附錄D:參考書目    509
  • 【購買本書】
  • 商城名稱價格 配送信息優惠活動去看看購買

    卓越網
    ¥53.20
    送貨上門:國內308個城市
    郵寄:全球
    特快專遞:全球
    海外航空快遞
    七周年店慶,全場免費配送 去看看 訂購

    當當網
    ¥52.40 當天加急送:北京五環以內
    送貨上門:國內178個城市
    郵寄:全球
    特快專遞:全球
    特惠商品68折封頂 去看看 訂購

    新華書店
    ¥51.00
    快遞:大陸地區
    郵寄:全球
    特快專遞:全球
    去看看 訂購

    華儲網
    ¥51.00 送貨上門:遼寧、長春、北京
    快遞、郵政遞送:全球
    30萬春節大禮包連環送,全場7折+滿100免運費 去看看 訂購
  • 說明:
  • 1、由于網上書店可能根據各種情況隨時調整價格,我們的價格信息存在滯后性。以上價格僅作參考,具體以網上書店標示的價格為準。
    2、如價格折扣信息和原書定價存在較大誤差,可能是該店售書為本書的不同版本或不同裝禎形式,請讀者自行鑒別。
    3、對如何網上購書存在疑問,請點擊上面購書指南鏈接查詢。
  • 【閱讀本書】
  • 地址備注 格式閱讀
    讀書網 本書樣章試讀,密碼:77 pdf 閱讀本書
  • 說明:
  • 1、以上第三方鏈接,讀書網對其合法性概不負責,亦不承擔任何法律責任。
    2、讀書網并不保證以上鏈接長期有效。
    3、請讀者注意以上鏈接電子書的格式,有些可能需要安裝相應的軟件或插件才能閱讀。
  • Copyright © 讀書網 www.dushu.com 2006-2007, All Rights Reserved.
    鄂ICP備06000781號 公安備4201502577