JavaScript編程全解 JavaScript编程全解 (图灵程序设计丛书)

井上誠一郎, 土江拓郎, 濱邊將太

  • 出版商: 人民郵電
  • 出版日期: 2013-12-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 406
  • ISBN: 7115333416
  • ISBN-13: 9787115333414
  • 相關分類: JavaScript

已絕版

買這商品的人也買了...

相關主題

商品描述

<內容介紹>

《JavaScript編程全解∕圖靈程序設計叢書》編著者井上誠一郎、土江拓郎、濱邊將太。
    《JavaScript編程全解∕圖靈程序設計叢書》涵蓋了JavaScript發中各個方面的主題,對從客戶端及服務器端JavaScript等基礎內容,到HTML5、WebAPI、Nodejs與WebSocket等熱門技術,都作了深入淺出的介紹與說明。讀者能夠通過本書瞭解當今JavaScript?發的最新現狀。本書的一大特色是對JavaScript語言的語法規則進行了細緻的說明,並通過大量純正的Javascript風格代碼,幫助讀者準確地掌握JavaScript語言特性及細節用法。
    本書適合JavaScript開發初學者系統入門、有經驗的JavaScript發者深入理解語言本質,也適合開發團隊負責人、項目負責人作為綜合性的JavaScript參考書閱讀。

<章節目錄>
第1部分  JavaScript概要
第1章  JavaScript概要
1.1  JavaScript概要
1.2  JavaScript的歷史
1.3  ECMAScript
1.3.1  JavaScript的標準化
1.3.2  被放棄的ECMAScript第4版
1.4  JavaScript的版本
1.5  JavaScript實現方式
1.6  JavaScript運行環境
1.6.1  核心語言
1.6.2  宿主對象
1.7  JavaScript相關環境
1.7.1  庫
1.7.2  源代碼壓縮
1.7.3  集成開發環境

第2部分  JavaScript的語言基礎
第2章  JavaScript基礎
2.1  JavaScript的特點
2.2  關於編排格式
2.3  變量的基礎
2.3.1  變量的使用方法
2.3.2  省略var
2.3.3  常量
2.4  函數基礎
2.4.1  函數的定義
2.4.2  函數的聲明與調用
2.4.3  匿名函數
2.4.4  函數是一種對象
2.5  對象的基礎
2.5.1  對象的定義
2.5.2  對象字面量表達式與對象的使用
2.5.3  屬性訪問
2.5.4  屬性訪問(括號方式)
2.5.5  方法
2.5.6  new表達式
2.5.7  類與實例
2.5.8  對類的功能的整理
2.5.9  對象與類型
2.6  數組的基礎
第3章  JavaScript的數據類型
3.1  數據類型的定義
3.1.1  在數據類型方面與Java作比較
3.1.2  基本數據類型和引用類型
3.2  內建數據類型概要
3.3  字符串型
3.3.1  字符串字面量
3.3.2  字符串型的運算
3.3.3  字符串型的比較

3.3.4  字符串類(String類)
3.3.5  字符串對象
3.3.6  避免混用字符串值和字符串對象
3.3.7  調用String函數
3.3.8  String類的功能
3.3.9  非破壞性的方法
3.4  數值型
3.4.1  數值字面量
3.4.2  數值型的運算
3.4.3  有關浮點數的常見註意事項
3.4.4  數值類(Number類)
3.4.5  調用Number函數
3.4.6  Number類的功能
3.4.7  邊界值與特殊數值
3.4.8  NaN
3.5  布爾型
3.5.1  布爾值
3.5.2  布爾類(Boolean類)
3.5.3  Boolean類的功能
3.6  null型
3.7  undefined型
3.8  Object類型
3.9  數據類型轉換
3.9.1  從字符串值轉換為數值
3.9.2  從數值轉換為字符串值
3.9.3  數據類型轉換的慣用方法
3.9.4  轉換為布爾型
3.9.5  其他的數據類型轉換
3.9.6  從Object類型轉換為基本數據類型
3.9.7  從基本數據類型轉換為Object類型
第4章  語句、表達式和運算符
4.1  表達式和語句的構成
4.2  保留字
4.3  標識符
4.4  字面量
4.5  語句
4.6  代碼塊(複合語句)
4.7  變量聲明語句
4.8  函數聲明語句
4.9  表達式語句
4.10  空語句
4.11  控制語句
4.12  if-else語句
4.13  switch-case語句
4.14  循環語句
4.15  while語句
4.16  do-while語句
4.17  for語句
4.18  for in語句
4.18.1  數列與for in語句

20.4  Yahoo! Flickr
20.4.1  Flickr Web API的使用
20.4.2  Flickr Web API的使用實例
20.5  Twitter
20.5.1  搜索API
20.5.2  REST API
20.5.3  Twitter JS API @anywhere
20.5.4  Twitter Widget
20.6  Facebook
20.6.1  Facebook應用的發展歷程
20.6.2  Facebook的JavaScript API
20.6.3  Facebook的插件
20.7  OpenSocial

第6部分  服務器端JavaScript
第21章  服務器端JavaScript與Node.js
21.1  服務器端JavaScript的動向
21.2  CommonJS
21.2.1  CommonJS的定義
21.2.2  CommonJS的動向
21.2.3  模塊功能
21.3  Node.js
21.3.1  Node.js概要
21.3.2  node指令
21.3.3  npm與包
21.3.4  console模塊
21.3.5  util模塊
21.3.6  process對象
21.3.7  全局對象
21.3.8  Node.js程序設計概要
21.3.9  事件API
21.3.10  緩衝
21.3.11  流
第22章  Node.js程序設計實踐
22.1  HTTP服務器處理
22.1.1  HTTP服務器處理的基本流程
22.1.2  請求處理
22.1.3  響應處理
22.1.4  POST請求處理
22.2  HTTP客戶端處理
22.3  HTTPS處理
22.3.1  通過openssl指令發布自簽名證書的方法
22.3.2  HTTPS服務器
22.4  Socket.IO與WebSocket
22.5  下層網絡程序設計
22.5.1  下層網絡處理
22.5.2  套接字的定義
22.5.3  套接字程序設計的基本結構
22.5.4  套接字程序設計的具體實例
22.6  文件處理

22.6.1  本節的範例代碼
22.6.2  文件的異步處理
22.6.3  文件的同步處理
22.6.4  文件操作相關函數
22.6.5  文件讀取
22.6.6  文件寫入
22.6.7  目錄操作
22.6.8  對文件更改的監視
22.6.9  文件路徑
22.7  定時器
22.8  Express
22.8.1  URL路由
22.8.2  請求處理
22.8.3  響應處理
22.8.4  scaffold創建功能
22.8.5  MVC架構
22.8.6  模板語言Jade
22.8.7  MongoDB(數據庫)
22.8.8  Mongoose的實例
22.8.9  使用了Express與Mongoose的Web應用程序

後記
索引


4.18.2  在使用for in語句時需要註意的地方
4.19  for each in語句
4.20  break語句
4.21  continue語句
4.22  通過標籤跳轉
4.23  return語句
4.24  異常
4.25  其他
4.26  註釋
4.27  表達式
4.28  運算符
4.29  表達式求值
4.30  運算符的優先級以及結合律
4.31  算術運算符
4.32  字符串連接運算符
4.33  相等運算符
4.34  比較運算符
4.35  in運算符
4.36  instanceof運算符
4.37  邏輯運算符
4.38  位運算符
4.39  賦值運算符
4.40  算術賦值運算符
4.41  條件運算符(三目運算符)
4.42  typeof運算符
4.43  new運算符
4.44  delete運算符
4.45  void運算符
4.46  逗號(,)運算符
4.47  點運算符和中括號運算符
4.48  函數調用運算符
4.49  運算符使用以及數據類型轉換中需要註意的地方
第5章  變量與對象
5.1  變量的聲明
5.2  變量與引用
5.2.1  函數的參數(值的傳遞)
5.2.2  字符串與引用
5.2.3  對象與引用相關的術語總結
5.3  變量與屬性
5.4  變量的查找
5.5  對變量是否存在的檢驗
5.6  對象的定義
5.6.1  抽象數據類型與面向對象
5.6.2  實例間的協作關係與面向對象
5.6.3  JavaScript的對象
5.7  對象的生成
5.7.1  對象字面量
5.7.2  構造函數與new表達式
5.7.3  構造函數與類的定義
5.8  屬性的訪問

5.8.1  屬性值的更新
5.8.2  點運算符與中括號運算符在使用上的區別
5.8.3  屬性的枚舉
5.9  作為關聯數組的對象
5.9.1  關聯數組
5.9.2  作為關聯數組的對象的註意點
5.10  屬性的屬性
5.11  垃圾回收
5.12  不可變對象
5.12.1  不可變對象的定義
5.12.2  不可變對象的作用
5.12.3  實現不可變對象的方式
5.13  方法
5.14  this引用
5.14.1  this引用的規則
5.14.2  this引用的註意點
5.15  apply與call
5.16  原型繼承
5.16.1  原型鏈
5.16.2  原型鏈的具體示例
5.16.3  原型繼承與類
5.16.4  對於原型鏈的常見誤解以及_proto_屬性
5.16.5  原型對象
5.16.6  ECMAScript第5版與原型對象
5.17  對象與數據類型
5.17.1  數據類型判定(constructor屬性)
5.17.2  constructor屬性的註意點
5.17.3  數據類型判定(instance運算與isPrototypeOf方法)
5.17.4  數據類型判定(鴨子類型)
5.17.5  屬性的枚舉(原型繼承的相關問題)
5.18  ECMAScript第5版中的Object類
5.18.1  屬性對象
5.18.2  訪問器的屬性
5.19  標準對象
5.20  Object類
5.21  全局對象
5.21.1  全局對象與全局變量
5.21.2  Math對象
5.21.3  Error對象
第6章  函數與閉包
6.1  函數聲明語句與匿名函數表達式
6.2  函數調用的分類
6.3  參數與局部變量
6.3.1  arguments對象
6.3.2  遞歸函數
6.4  作用域
6.4.1  瀏覽器與作用域
6.4.2  塊級作用域
6.4.3  let與塊級作用域
6.4.4  嵌套函數與作用域

6.4.5  變量隱藏
6.5  函數是一種對象
6.6  Function類
6.7  嵌套函數聲明與閉包
6.7.1  對閉包的初步認識
6.7.2  閉包的原理
6.7.3  閉包中需要註意的地方
6.7.4  防範命名空間的污染
6.7.5  閉包與類
6.8  回調函數設計模式
6.8.1  回調函數與控制反轉
6.8.2  JavaScript與回調函數
第7章  數據處理
7.1  數組
7.1.1  JavaScript的數組
7.1.2  數組元素的訪問
7.1.3  數組的長度
7.1.4  數組元素的枚舉
7.1.5  多維數組
7.1.6  數組是一種對象
7.1.7  Array類
7.1.8  數組對象的意義
7.1.9  數組的習慣用法
7.1.10  數組的內部實現
7.1.11  數組風格的對象
7.1.12  迭代器
7.1.13  生成器
7.1.14  數組的內包
7.2  JSON
7.2.1  JSON字符串
7.2.2  JSON對象
7.3  日期處理
7.4  正則表達式
7.4.1  正則表達式的定義
7.4.2  正則表達式相關的術語
7.4.3  正則表達式的語法
7.4.4  JavaScript中的正則表達式
7.4.5  正則表達式程序設計
7.4.6  字符串對象與正則表達式對象

第3部分  客戶端JavaScript
第8章  客戶端JavaScript與HTML
8.1  客戶端JavaScript的重要性
8.1.1  Web應用程序的發展
8.1.2  JavaScript的性能提升
8.1.3  JavaScript的作用
8.2  HTML與JavaScript
8.2.1  網頁顯示過程中的處理流程
8.2.2  JavaScript的表述方式及其執行流程
8.2.3  執行流程的小結

8.3  運行環境與開發環境
8.3.1  運行環境
8.3.2  開發環境
8.4  調試
8.4.1  alert
8.4.2  console
8.4.3  onerror
8.4.4  Firebug, Web Inspector(Developer Tools), Opera Dragonfly
8.5  跨瀏覽器支持
8.5.1  應當提供支持的瀏覽器
8.5.2  實現方法
8.6  Window對象
8.6.1  Navigator對象
8.6.2  Location對象
8.6.3  History對象
8.6.4  Screen對象
8.6.5  對Window對象的引用
8.6.6  Document對象
第9章  DOM
9.1  DOM的定義
9.1.1  DOM Level 1
9.1.2  DOM Level 2
9.1.3  DOM Level 3
9.1.4  DOM的表述方式
9.2  DOM的基礎
9.2.1  標籤、元素、節點
9.2.2  DOM操作
9.2.3  Document對象
9.3  節點的選擇
9.3.1  通過ID檢索
9.3.2  通過標籤名檢索
9.3.3  通過名稱檢索
9.3.4  通過類名檢索
9.3.5  父節點、子節點、兄弟節點
9.3.6  XPath
9.3.7  Selector API
9.4  節點的創建與新增
9.5  節點的內容更改
9.6  節點的刪除
9.7  innerHTML/textContent
9.7.1  innerHTML
9.7.2  textContent
9.8  DOM操作的性能
第10章  事件
10.1  事件驅動程序設計
10.2  事件處理程序/事件偵聽器的設定
10.2.1  指定為HTML元素的屬性
10.2.2  指定為DOM元素的屬性
10.2.3  通過EventTarget.addEventListener()進行指定
10.2.4  事件處理程序/事件偵聽器內的this引用

10.3  事件的觸發
10.4  事件的傳播
10.4.1  捕獲階段
10.4.2  目標階段
10.4.3  事件冒泡階段
10.4.4  取消
10.5  事件所具有的元素
10.6  標準事件
10.6.1  DOM Level 2中所定義的事件
10.6.2  DOM Level 3中所定義的事件
10.7  自定義事件
第11章  客戶端JavaScript實踐
11.1  樣式
11.1.1  樣式的變更方法
11.1.2  位置的設定
11.1.3  位置
11.1.4  動畫
11.2  AJAX
11.2.1  異步處理的優點
11.2.2  XMLHttpRequest
11.2.3  基本的處理流程
11.2.4  同步通信
11.2.5  超時
11.2.6  響應
11.2.7  跨源限制
11.2.8  跨源通信
11.2.9  JSONP
11.2.10  iframe攻擊(iframe hack)
11.2.11  window.postMessage
11.2.12  XMLHttpRequest Level 2
11.2.13  跨源通信的安全問題
11.3  表單
11.3.1  表單元素
11.3.2  表單控件
11.3.3  內容驗證
11.3.4  可用於驗證的事件
11.3.5  使用表單而不產生頁面跳轉的方法
第12章  庫
12.1  使用庫的原因
12.2  jQuery的特徵
12.3  jQuery的基本概念
12.3.1  使用實例
12.3.2  鏈式語法
12.4  $函數
12.4.1  抽取與選擇器相匹配的元素
12.4.2  創建新的DOM元素
12.4.3  將已有的DOM元素轉換為jQuery對象
12.4.4  對DOM構造完成後的事件偵聽器進行設定
12.5  通過jQuery進行DOM操作
12.5.1  元素的選擇

12.5.2  元素的創建·添加·替換·刪除
12.6  通過jQuery處理事件
12.6.1  事件偵聽器的註冊·刪除
12.6.2  事件專用的事件偵聽器註冊方法
12.6.3  ready()方法
12.7  通過jQuery對樣式進行操作
12.7.1  基本的樣式操作
12.7.2  動畫
12.8  通過jQuery進行AJAX操作
12.8.1  AJAX()函數
12.8.2  AJAX()的包裝函數
12.8.3  全局事件
12.9  Deferred
12.9.1  Deferred的基本概念
12.9.2  狀態遷移
12.9.3  後續函數
12.9.4  並行處理
12.10  jQuery插件
12.10.1  使用jQuery插件
12.10.2  創建jQuery插件
12.11  與其他庫共同使用
12.11.1  $對象的衝突
12.11.2  避免$對象的衝突
12.12  庫的使用方法

第4部分  HTML5
第13章  HTML5概要
13.1  HTML5的歷史
13.2  HTML5的現狀
13.2.1  瀏覽器的支持情況
13.2.2  Web應用程序與原生應用程序
13.3  HTML5的概要
第14章  Web應用程序
14.1  History API
14.1.1  History API的定義
14.1.2  哈希片段
14.1.3  接口
14.2  ApplicationCache
14.2.1  關於緩存管理
14.2.2  緩存清單文件
14.2.3  ApplicationCache  API
14.2.4  在線與離線
第15章  與桌面應用的協作
15.1  Drag Drop API
15.1.1  Drag Drop API的定義
15.1.2  接口
15.1.3  基本的拖動與釋放
15.1.4  自定義顯示
15.1.5  文件的Drag-In/Drag-Out
15.2  File API

15.2.1  File API的定義
15.2.2  File對象
15.2.3  FileReader
15.2.4  data URL
15.2.5  FileReaderSync
第16章  存儲
16.1  Web Storage
16.1.1  Web Storage的定義
16.1.2  基本操作
16.1.3  storage事件
16.1.4  關於Cookie
16.1.5  命名空間的管理
16.1.6  版本的管理
16.1.7  對localStorage的模擬
16.2  Indexed Database
16.2.1  Indexed Database的定義
16.2.2  基礎架構
16.2.3  連接數據庫
16.2.4  對象存儲的創建
16.2.5  數據的添加·刪除·引用
16.2.6  索引的創建
16.2.7  數據的檢索與更新
16.2.8  數據的排序
16.2.9  事務
16.2.10  同步API
第17章  WebSocket
17.1  WebSocket概要
17.1.1  WebSocket的定義
17.1.2  現有的通信技術
17.1.3  WebSocket的標準
17.1.4  WebSocket的執行方式
17.2  基本操作
17.2.1  連接的建立
17.2.2  消息的收發
17.2.3  連接的切斷
17.2.4  連接的狀態確認
17.2.5  二進制數據的收發
17.2.6  WebSocket實例的屬性一覽
17.3  WebSocket實踐
17.3.1  Node.js的安裝
17.3.2  服務器端的實現
17.3.3  客戶端的實現
17.3.4  客戶端的實現2
第18章  Web Workers
18.1  Web Workers概要
18.1.1  Web Workers的定義
18.1.2  Web Workers的執行方式
18.2  基本操作
18.2.1  工作線程的創建
18.2.2  主線程一側的消息收發

18.2.3  工作線程一側的消息收發
18.2.4  工作線程的刪除
18.2.5  外部文件的讀取
18.3  Web  Worker實踐
18.3.1  工作線程的使用
18.3.2  中斷對工作線程的處理
18.4  共享工作線程
18.4.1  共享工作線程的定義
18.4.2  共享工作線程的創建
18.4.3  共享工作線程的消息收發
18.4.4  共享工作線程的刪除
18.4.5  共享工作線程的應用實例

第5部分  Web API
第19章  Web API的基礎
19.1  Web API與Web服務
19.2  Web API的歷史
19.2.1  Web抓取
19.2.2  語義網
19.2.3  XML
19.2.4  Atom
19.2.5  JSON
19.2.6  SOAP
19.2.7  REST
19.2.8  簡單總結
19.3  Web API的組成
19.3.1  Web API的形式
19.3.2  Web API的使用
19.3.3  RESTful API
19.3.4  API密鑰
19.4  用戶驗證與授權
19.4.1  Web應用程序的會話管理
19.4.2  會話管理與用戶驗證
19.4.3  Web API與權限
19.4.4  驗證與授權
19.4.5  OAuth
第20章  Web API的實例
20.1  Web API的分類
20.2  Google Translate API
20.2.1  準備
20.2.2  執行方式的概要
20.2.3  使用了Web API的代碼示例
20.2.4  微件(Google Translate Element)
20.3  Google Maps API
20.3.1  Google Static Maps API
20.3.2  我的地圖
20.3.3  Google Maps API的概要
20.3.4  簡單的Google Maps API示例
20.3.5  事件
20.3.6  Geolocation API與Geocoding API