TOP
0
0
魅麗。花火原創小說66折起
JAVASCRIPT 語言精髓與編程實踐(簡體書)
滿額折

JAVASCRIPT 語言精髓與編程實踐(簡體書)

人民幣定價:68 元
定  價:NT$ 408 元
優惠價:87355
領券後再享88折
無庫存,下單後進貨(採購期約45個工作天)
可得紅利積點:10 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書詳細講述JavaScript作為一種混合式語言的各方面特性,包括過程式、面向對象、函數式和動態語言特性等,在動態函數式語言特性方面有著尤為細致的講述。本書的主要努力之一,就是分解出這些語言原子,并重現將它們混合在一起的過程與方法。通過從復雜性到單一語言特性的還原過程,讀者可了解到語言的本質,以及“層出不窮的語言特性”背后的真相。 本書主要的著述目的是基于一種形式上簡單的語言來講述“語言的本質及其應用”。本書詳細講述了通過框架執行過程來構造一個JavaScript擴展框架的方法,并完整地講述了框架擴展中各種設計取舍,因此可以作為學習研究計算機程序設計語言時的參考,用以展示現實系統如何實現經典理論中的各種編程范型。

作者簡介

周愛民,國內軟件開發界資深軟件工程師,從1996年開始涉足商業軟件開發,歷任部門經理、區域總經理、高級軟件工程師、平臺架構師等職。周愛民先生在軟件開發、軟件工程、團隊建設以及部門管理方面經驗豐富,是Borland Delphi產品技術專家,也是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章 十年JAVASCRIPT
1.1 網頁中的代碼
1.1.1 新鮮的玩意兒
1.1.2 第一段在網頁中的代碼
1.1.3 最初的價值
1.2 用JAVASCRIPT來寫瀏覽器上的應用
1.2.1 我要做一個聊天室
1.2.2 Flash的一席之地
1.2.3 RWC與RIA之爭
1.3 沒有框架與庫的語言能怎樣發展呢?
1.3.1 做一個框架
1.3.2 重寫框架的語言層
1.3.3 富瀏覽器端開發(RWC)與AJAX
1.4 為JAVASCRIPT正名
1.4.1 JavaScript
1.4.2 Core JavaScript
1.4.3 SpiderMonkey JavaScript
1.4.4 ECMAScript
1.4.5 JScript
1.4.6 總述
1.5 JAVASCRIPT的應用環境
1.5.1 宿主環境(host environment)
1.5.2 外殼程序(Shell)
1.5.3 運行期環境(runtime)
 第2章 JAVASCRIPT的語法
2.1 語法綜述
2.1.1 標識符所綁定的語義
2.1.2 識別語法錯誤與運行錯誤
2.2 JAVASCRIPT的語法:變量聲明
2.2.1 變量的數據類型
2.2.2 變量聲明
2.2.3 變量聲明中的一般性問題
2.3 JAVASCRIPT的語法:表達式運算
2.3.1 一般表達式運算
2.3.2 邏輯運算
2.3.3 字符串運算
2.3.4 比較運算
2.3.5 賦值運算
2.3.6 函數調用
2.3.7 特殊作用的運算符
2.3.8 運算優先級
2.4 JAVASCRIPT的語法:語句
2.4.1 表達式語句
2.4.2 分支語句
2.4.3 循環語句
2.4.4 流程控制:一般子句
2.4.5 流程控制:異常
2.5 面向對象編程的語法概要
2.5.1 對象直接量聲明與實例創建
2.5.2 對象成員列舉、存取和刪除
2.5.3 屬性存取與方法調用
2.5.4 對象及其成員的檢查
2.5.5 可列舉性
2.5.6 默認對象的指定
2.6 運算符的二義性
2.6.1 加號“+”的二義性
2.6.2 括號“( )”的二義性
2.6.3 冒號“:”與標簽的二義性
2.6.4 大括號“{ }”的二義性
2.6.5 逗號“,”的二義性
2.6.6 方括號“[ ]”的二義性
第2部分 語言特性及基本應用
 第3章 JAVASCRIPT的非函數式語言特性
3.1 概述
3.1.1 命令式語言與結構化編程
3.1.2 結構化的疑難
3.1.3 “面向對象語言”是突破嗎?
3.1.4 更高層次的抽象:接口
3.1.5 再論語言的分類
3.1.6 JavaScript的語源
3.2 基本語法的結構化含義
3.2.1 基本邏輯與代碼分塊
3.2.2 模塊化的層次:語法作用域
3.2.3 執行流程及其變更
3.2.4 模塊化的效果:變量作用域
3.2.5 語句的副作用
3.3 JAVASCRIPT中的原型繼承
3.3.1 空對象(null)與空的對象
3.3.2 原型繼承的基本性質
3.3.3 空的對象是所有對象的基礎
3.3.4 構造復制?寫時復制?還是讀遍歷?
3.3.5 構造過程:從函數到構造器
3.3.6 預定義屬性與方法
3.3.7 原型鏈的維護
3.3.8 原型繼承的實質
3.4 JAVASCRIPT的對象系統
3.4.1 封裝
3.4.2 多態
3.4.3 事件
3.4.4 類抄寫?或原型繼承?
3.4.5 JavaScript中的對象(構造器)
3.4.6 不能通過繼承得到的效果
 第4章 JAVASCRIPT的函數式語言特性
4.1 概述
4.1.1 從代碼風格說起
4.1.2 為什么常見的語言不贊同連續求值
4.1.3 函數式語言的淵源
4.2 函數式語言中的函數
4.2.1 函數是運算元
4.2.2 在函數內保存數據
4.2.3 函數內的運算對函數外無副作用
4.3 從運算式語言到函數式語言
4.3.1 JavaScript中的幾種連續運算
4.3.2 運算式語言
4.3.3 如何消滅掉語句
4.4 函數:對運算式語言的補充和組織
4.4.1 函數是必要的補充
4.4.2 函數是代碼的組織形式
4.4.3 重新認識“函數”
4.4.4 JavaScript語言中的函數式編程
4.5 JAVASCRIPT中的函數
4.5.1 可變參數與值參數傳遞
4.5.2 非惰性求值
4.5.3 函數是第一型
4.5.4 函數是一個值
4.5.5 可遍歷的調用棧
4.6 閉包
4.6.1 什么是閉包
4.6.2 什么是函數實例與函數引用
4.6.3 (在被調用時,)每個函數實例至少擁有一個閉包
4.6.4 函數閉包與調用對象
4.6.5 函數實例擁有多個閉包的情況
4.6.6 語句或語句塊中的閉包問題
4.6.7 閉包中的標識符(變量)特例
4.6.8 函數對象的閉包及其效果
4.6.9 閉包與可見性
第5章 JAVASCRIPT的動態語言特性
5.1 概述
5.1.1 動態數據類型的起源
5.1.2 動態執行系統的起源
5.1.3 腳本系統的起源
5.1.4 腳本只是一種表面的表現形式
5.2 動態執行(EVAL)
5.2.1 動態執行與閉包
5.2.2 動態執行過程中的語句、表達式與值
5.2.3 奇特的、甚至是負面的影響
5.3 動態方法調用(CALL與APPLY)
5.3.1 動態方法調用中指定this對象
5.3.2 丟失的this引用
5.3.3 棧的可見與修改
5.3.4 兼容性:低版本中的call()與apply()
5.4 重寫
5.4.1 原型重寫
5.4.2 構造器重寫
5.4.3 對象成員的重寫
5.4.4 宿主對重寫的限制
5.4.5 引擎對重寫的限制
5.5 包裝類:面向對象的妥協
5.5.1 顯式包裝元數據
5.5.2 隱式包裝的過程與檢測方法
5.5.3 包裝值類型數據的必要性與問題
5.5.4 其他直接量與相應的構造器
5.6 關聯數組:對象與數組的動態特性
5.6.1 關聯數組是對象系統的基礎
5.6.2 用關聯數組實現的索引數組
5.6.3 干凈的對象
5.7 類型轉換
5.7.1 宿主環境下的特殊類型系統
5.7.2 值運算:類型轉換的基礎
5.7.3 隱式轉換
5.7.4 值類型之間的轉換
5.7.5 從引用到值:深入探究valueOf()方法
5.7.6 到字符串類型的顯式轉換
第3部分 編程實踐
 第6章 QOMO框架的核心技術與實現
6.1 QOMO框架的技術發展與基本特性
6.1.1 Qomo框架的技術發展
6.1.2 Qomo的體系結構
6.1.3 Qomo框架設計的基本原則
6.2 基于類繼承的對象系統
6.2.1 Qomo類繼承的基本特性
6.2.2 Qomo類繼承的語法
6.2.3 Qomo類繼承系統的實現
6.2.4 Qomo類繼承系統的高級話題
6.3 多投事件系統
6.3.1 多投事件系統的基本特性與語法
6.3.2 多投事件系統的實現
6.3.3 多投事件的中斷與返回值
6.3.4 多投事件系統的安全性
6.4 接口系統
6.4.1 基本概念與語法
6.4.2 接口實現
6.4.3 Qomo接口系統的高級話題
6.4.4 接口委托
6.4.5 Qomo接口系統的實現
6.5 命名空間
6.5.1 Qomo命名空間的復雜性
6.5.2 命名空間的使用
6.5.3 命名空間的實現
6.6 AOP
6.6.1 基本概念與語法
6.6.2 高級切面特性
6.6.3 Qomo中切面系統的實現
6.7 其他
6.7.1 裝載、內聯與導入
6.7.2 四種模板技術
6.7.3 出錯處理
6.7.4 其他功能模塊
 第7章 一般性的動態函數式語言技巧
7.1 消除代碼的全局變量名占用
7.2 一次性的構造器
7.3 對象充當識別器
7.4 識別NEW運算進行的構造器調用
7.5 使用直接量及其包裝類快速調用對象方法
7.6 三天前是星期幾?
7.7 使用對象的值含義來構造復雜對象
7.8 控制字符串替換過程的基本模式
7.9 實現二叉樹
7.10 將函數封裝為方法
7.11 使用WITH語句來替代函數參數傳遞
7.12 使用對象閉包來重置重寫
7.13 構造函數參數
7.14 使用更復雜的表達式來消減IF語句
7.15 利用鉤子函數來擴展功能
7.16 安全的字符串
附錄A:術語表
附錄B:主要引擎的特性差異列表
附錄C:附圖
附錄D:參考書目

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 355
無庫存,下單後進貨
(採購期約45個工作天)

暢銷榜

客服中心

收藏

會員專區