JavaScript啟示錄

JavaScript啟示錄

《JavaScript啟示錄》是2016年10月人民郵電出版社出版的圖書,作者是[美]Cody Lindley。

基本介紹

  • 中文名:JavaScript啟示錄
  • 作者:[美]Cody Lindley
  • 出版時間:2016年10月
  • 出版社:人民郵電出版社
  • 頁數:127 頁
  • ISBN:9787115334947
  • 定價:35 元
  • 開本:16 開
  • 裝幀平裝
內容簡介,目錄,

內容簡介

JavaScript是Web開發人員必須掌握的一門程式語言,但JavaScript語言及其相關技術正在變得越來越複雜。如何掌握JavaScript的基本概念和核心技術,往往讓初學者和JavaScript新手感到束手無策。
《JavaScript啟示錄》力圖在有限的篇幅內,通過考察原生JavaScript對象和所支持的細微差別,來給讀者展現準確的JavaScript世界觀,涉及對象、屬性、複雜值、原始值、作用域、繼承、this關鍵字、head對象等重要概念。本書幫助讀者釐清這些概念,進而掌握套用它們的技術和技巧。
《JavaScript啟示錄》適合希望通過深入了解JavaScript對象來鞏固對語言理解的高 級初學者或中級JavaScript開發人員閱讀,也適合準備研究JavaScript幕後知識的JavaScript庫使用老手參考。

目錄

第1章 JavaScript對象 1
1.1 創建對象 1
1.2 JavaScript構造函式構建並返回對象實例 6
1.3 JavaScript原生/內置對象構造函式 7
1.4 用戶自定義/非原生對象構造函式 8
1.5 使用new 操作符實例化構造函式 10
1.6 從構造函式創建字面量值 11
1.7 原始值(或簡單值) 13
1.8 null、“string”、10、true和false等原始值不是對象 14
1.9 如何存儲和複製原始值 15
1.10 原始值比較採用值比較 16
1.11 原始值(String、Number、Boolean)在被用做對象時就像對象 17
1.12 複雜值(或組合值) 18
1.13 如何存儲或複製複雜值 19
1.14 複雜對象比較採用引用比較 20
1.15 複雜對象具有動態屬性 21
1.16 typeof操作符 21
1.17 動態屬性支持易變對象 23
1.18 構造函式實例都擁有指向其構造函式的Constructor屬性 24
1.19 驗證對象是否是特定構造函式的實例 26
1.20 構造函式創建的實例可擁有自己獨立的屬性(實例屬性) 27
1.21 JavaScript對象和Object()對象 28
第 2章 對象與屬性 29
2.1 複雜對象可以將大多數JavaScript值作為屬性 29
2.2 封裝複雜對象 30
2.3 用點表示法或中括弧表示法獲取/設定/更新對象屬性 31
2.4 刪除對象屬性 34
2.5 如何解決對象屬性的引用 34
2.6 使用hasOwnProperty驗證對象屬性不是來自原型鏈 37
2.7 使用in操作符檢查一個對象是否包含給定屬性 37
2.8 使用for in循環枚舉(循環遍歷)對象的屬性 38
2.9 宿主對象與原生對象 39
2.10 使用Underscore.js增強及擴展對象 40
第3章 Object() 43
3.1 Object()對象概要 43
3.2 Object()參數 44
3.3 Object()屬性和方法 45
3.4 Object()對象實例屬性和方法 45
3.5 使用對象字面量創建Object()對象 46
3.6 所有對象都繼承自Object.prototype 47
第4章 Function() 49
4.1 Function()對象概要 49
4.2 Function()參數 50
4.3 Function()屬性和方法 50
4.4 Function對象實例屬性和方法 51
4.5 函式總有返回值 51
4.6 函式是“一等公民”(不僅語法,還有值) 52
4.7 函式的參數傳遞 53
4.8 this和arguments適用於所有函式 53
4.9 arguments.callee屬性 54
4.10 函式實例的length屬性和arguments.length 55
4.11 重定義函式參數 55
4.12 代碼執行完成前取消函式執行 56
4.13 定義函式(語句、表達式或構造函式) 57
4.14 調用函式[函式、方法、構造函式或call()和apply()] 57
4.15 匿名函式 59
4.16 自調用的函式表達式 59
4.17 自調用的匿名函式語句 59
4.18 函式可以嵌套 60
4.19 給函式傳遞函式,從函式返回函式 61
4.20 函式定義之前調用(函式提升) 61
4.21 函式可以調用自身(遞歸) 62
第5章 head/全局對象 64
5.1 head/全局對象概要 64
5.2 head對象內的全局函式 65
5.3 head對象與全局屬性、全局變數 65
5.4 引用head對象 67
5.5 head對象是隱式的,通常不顯式引用 67
第6章 this關鍵字 69
6.1 this概要及this如何引用對象 69
6.2 如何確定this值 70
6.3 在嵌套函式中用this關鍵字引用head對象 71
6.4 充分利用作用域鏈研究嵌套函式問題 73
6.5 使用call()或apply()控制this值 73
6.6 在用戶自定義構造函式內部使用this關鍵字 75
6.7 原型方法內的this關鍵字引用構造函式實例 75
第7章 作用域和閉包 77
7.1 JavaScript作用域概要 77
7.2 JavaScript沒有塊作用域 78
7.3 在函式中用var聲明變數,避免作用域陷阱 78
7.4 作用域鏈(詞法作用域) 79
7.5 作用域鏈查找返回第 一輪值 81
7.6 函式定義時確定作用域,而非調用時確定 81
7.7 閉包是由作用域鏈引起的 82
第8章 函式原型屬性 84
8.1 原型鏈概要 84
8.2 為何要關注prototype屬性 85
8.3 原型在所有function()實例上都是標準的 85
8.4 默認的prototype屬性是Object()對象 86
8.5 將構造函式創建的實例連結到構造函式的prototype屬性 87
8.6 原型鏈的**後是Object.prototype 88
8.7 原型鏈返回在鏈中找到的第 一個匹配結果 88
8.8 用新對象替換prototype屬性會刪除默認構造函式屬性 89
8.9 繼承原型屬性的實例總是能夠獲得**新值 90
8.10 用新對象替換prototype屬性不會更新以前的實例 91
8.11 用戶自定義構造函式像原生構造函式一樣原型繼承 92
8.12 創建繼承鏈 94
第9章 Array() 95
9.1 Array()對象概要 95
9.2 Array()參數 96
9.3 Array()屬性和方法 96
9.4 數組對象實例屬性和方法 96
9.5 創建數組 97
9.6 數組添加及更新 98
9.7 長度與索引 99
9.8 定義預定義長度的數組 100
9.9 可以通過設定數組長度添加或刪除值 100
9.10 數組包含數組(多維數組) 101
9.11 遍歷數組 101
第 10章 String() 103
10.1 String()對象概要 103
10.2 String()參數 104
10.3 String()屬性和方法 104
10.4 字元串對象實例屬性和方法 104
第 11章 Number() 106
11.1 Number()對象概要 106
11.2 整數和浮點數 106
11.3 Number()參數 107
11.4 Number()屬性 108
11.5 數字對象實例屬性和方法 108
第 12章 Boolean() 109
12.1 Boolean()對象概要 109
12.2 Boolean()參數 109
12.3 Boolean()屬性和方法 110
12.4 布爾對象實例屬性和方法 110
12.5 非原始false布爾對象轉換為true 111
12.6 某些值是false,其他都是true 111
第 13章 使用原始值:字元串、數字和布爾值 113
13.1 訪問屬性時原始值/字面量值被轉換為對象 113
13.2 通常應使用原始字元串、數字和布爾值 115
第 14章 null 116
14.1 null值概要 116
14.2 typeof(null)的返回值為“object” 116
第 15章  118
15.1 值概要 118
15.2 在全局作用域中定義變數 119
第 16章 Math函式 120
16.1 內置Math對象概要 120
16.2 Math屬性和方法 120
16.3 Math不是構造函式 122
16.4 Math常數無法增大/改變 122
附錄A 回顧 123
附錄B 總結 126

相關詞條

熱門詞條

聯絡我們