 |
-- 會員 / 註冊 --
|
|
|
|
JavaScript語法簡明手冊 ( 簡體 字) |
作者:[美] 格雷格·賽德尼科夫(Greg Sidelnikov) | 類別:1. -> 程式設計 -> 網路編程 -> Javascript |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 53009 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:7/1/2020 |
頁數:215 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115539922 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書包含大量精心繪制的示意圖和豐富的示例代碼,講解了常用的JavaScript語法特性,為JavaScript初學者繪制了一條平緩的學習曲線。本書涵蓋原生數據類型、強制類型轉換、作用域、閉包、運算符、面向對象編程、事件循環機制等內容。這些內容由淺入深,適合初學者按順序閱讀。本書還突出了ES10引入的一些新特性,便于有進階需要的讀者翻閱。 |
目錄:第 1章 講述形式 1 1.1 理論 1 1.2 實例 1 1.3 代碼清單 1 1.4 示意圖 2 1.4.1 抽象概念 2 1.4.2 代碼片段 3 1.5 主要內容 3 1.6 注意事項 4 第 2章 Chrome控制臺 5 2.1 copy函數 5 2.2 console.dir 5 2.3 console.error 6 2.4 console.time和console.timeEnd 7 2.5 console.clear 7 2.6 打印對象 8 第3章 歡迎使用JavaScript 9 3.1 入口點 9 3.1.1 DOMContentLoaded 9 3.1.2 注意事項 10 3.1.3 導入外部腳本 11 3.1.4 導入與導出 12 3.2 嚴格模式 14 3.2.1 對一個作用域開啟嚴格模式 14 3.2.2 嚴格模式小結 15 3.3 字面量 15 3.4 變量 17 3.4.1 值占位符 17 3.4.2 動態類型 18 3.4.3 定義或聲明 18 3.5 引用傳遞 18 3.6 作用域的怪癖 19 3.6.1 怪癖1:函數內的let和const與全局變量 19 3.6.2 怪癖2:var依附于window/this對象,而let和const不會 20 第4章 語句 21 4.1 求值語句 21 4.2 表達式 22 第5章 基本類型 23 5.1 基本類型 23 5.1.1 boolean 24 5.1.2 null 24 5.1.3 undefined 24 5.1.4 number 25 5.1.5 bigint 26 5.1.6 string 27 5.2 模板字符串 28 5.3 symbol 30 5.4 構造函數和實例 33 5.5 對基本類型執行方法 35 5.5.1 使用括號訪問對象屬性 35 5.5.2 連接方法 36 第6章 強制類型轉換 37 6.1 強制類型轉換示例 37 6.1.1 構造函數中的強制類型轉換 38 6.1.2 強制類型轉換詳解 39 6.2 多個值相加 42 6.3 運算符優先級 43 6.4 字符串與數值的比較 43 6.5 運算符優先級和結合性一覽表 45 6.6 左值和右值 47 6.6.1 賦值運算符 47 6.6.2 算術加法運算符 47 6.7 null與undefined 47 第7章 作用域 50 7.1 變量定義 50 7.1.1 區分大小寫 50 7.1.2 定義 50 7.2 變量提升 51 7.3 函數提升 53 7.4 變量類型 56 7.5 作用域可見性的區別 56 7.5.1 在全局作用域中 56 7.5.2 在函數作用域中 57 7.5.3 閉包 58 7.5.4 在塊級作用域中 59 7.5.5 在類中 59 7.6 const 60 7.6.1 const和數組 61 7.6.2 const和對象字面量 61 7.6.3 const小結 62 7.7 注意事項 62 第8章 運算符 63 8.1 算術運算符 63 8.2 賦值運算符 65 8.3 字符串運算符 65 8.4 比較運算符 65 8.5 邏輯運算符 66 8.6 位運算符 67 8.7 typeof運算符 67 8.8 三元運算符 68 8.9 delete 68 8.10 in 69 第9章 .rest和.spread 71 9.1 rest屬性 71 9.2 spread屬性 72 9.3 .rest和.spread 73 9.3.1 語法詳解 73 9.3.2 編寫帶rest參數的sum()函數 75 9.3.3 使用spread來扁平化數組 76 9.3.4 在數組、對象或函數參數之外使用spread 76 9.4 解構賦值 77 9.4.1 使用spread合并對象 79 9.4.2 使用spread合并數組 80 第 10章 閉包 81 10.1 閉包入門 81 10.1.1 什么是閉包 81 10.1.2 漂亮的閉包 84 10.1.3 閉包小結 86 10.2 參數個數 87 10.3 柯里化 87 第 11章 循環 89 11.1 JavaScript中的循環類型 89 11.1.1 遞增和遞減 89 11.1.2 動態生成HTML元素 90 11.1.3 渲染列表 90 11.1.4 動態排序的表格 90 11.1.5 注意事項 90 11.2 for循環 91 11.2.1 基于零索引的計數器 91 11.2.2 無限for循環 91 11.2.3 多條語句 92 11.2.4 遞增數字 92 11.2.5 for循環和let作用域 92 11.2.6 嵌套for循環 93 11.2.7 循環的長度 93 11.2.8 跳步 94 11.2.9 提前中斷 94 11.2.10 自定義中斷條件 94 11.2.11 跳轉到標簽 95 11.2.12 跳出標記的塊級作用域 96 11.3 for.of循環 96 11.3.1 for.of和生成器 97 11.3.2 for.of和字符串 98 11.3.3 for.of和數組 98 11.3.4 for.of和對象 99 11.3.5 for.of循環和轉換的可迭代對象 99 11.4 for.in循環 100 11.5 while循環 100 第 12章 數組和字符串 102 12.1 Array.prototype.sort 102 12.2 Array.forEach 103 12.3 Array.every 104 12.4 Array.some 105 12.5 Array.filter 106 12.6 Array.map 106 12.7 Array.reduce 107 12.7.1 Array.reduce與Array.filter 107 12.7.2 更新數據庫中的對象屬性 107 12.7.3 reduce的實際應用 107 12.7.4 注意事項 108 12.8 Array.flat 109 12.9 Array.flatMap 109 12.10 String.prototype.matchAll 109 12.10.1 使用全局匹配符/g 110 12.10.2 正則表達式的捕獲組 110 12.10.3 使用matchAll的理由 112 12.10.4 matchAll的工作方式 112 12.10.5 使用matchAll的捕獲組示例 112 12.10.6 注意事項 113 12.11 比較兩個對象 113 12.11.1 編寫arrcmp 115 12.11.2 改進objcmp 116 12.11.3 針對更復雜的對象測試objcmp 117 12.11.4 objcmp小結 119 第 13章 函數 120 13.1 函數 120 13.1.1 函數結構 120 13.1.2 匿名函數 121 13.1.3 將函數賦給變量 122 13.2 this關鍵字的來源 125 第 14章 高階函數 126 14.1 理論 126 14.1.1 抽象 126 14.1.2 編寫第 一個高階函數 126 14.2 定義 127 14.3 抽象 127 14.4 迭代器 128 14.4.1 逐行解析map函數 129 14.4.2 調用自定義的map函數 130 14.4.3 調用Array.map 131 14.4.4 for循環怎么了 131 14.5 注意事項 131 第 15章 箭頭函數 132 15.1 箭頭函數 132 15.1.1 無return的返回 133 15.1.2 作為事件的箭頭函數 133 15.2 箭頭函數的結構 134 15.2.1 實參 135 15.2.2 從箭頭函數返回 135 15.3 ES風格函數的相似性 136 15.3.1 無this綁定 137 15.3.2 無arguments對象 137 15.3.3 無構造函數 137 15.3.4 傳統函數和箭頭函數用作事件回調函數 138 15.3.5 繼承的this語境 139 第 16章 動態創建HTML元素 140 16.1 設置CSS樣式 140 16.2 使用appendChild方法向DOM中添加元素 141 16.2.1 document.body 141 16.2.2 getElementById 142 16.2.3 querySelector 142 16.3 編寫函數來創建元素 142 16.3.1 函數參數 142 16.3.2 函數體 143 16.3.3 導入并使用absolute函數 145 16.4 使用構造函數來創建對象 146 第 17章 原型 147 17.1 原型 147 17.1.1 對象字面量的原型 148 17.1.2 原型鏈接 149 17.1.3 原型鏈 150 17.1.4 查找方法 150 17.1.5 數組方法 151 17.2 父對象 152 17.2.1 擴展自己的對象 152 17.2.2 constructor屬性 153 17.2.3 Function 154 17.3 原型實踐 155 17.3.1 對象字面量 155 17.3.2 使用Function構造函數 156 17.3.3 原型 157 17.3.4 使用Object.create來創建對象 158 17.3.5 示例繼續 159 17.3.6 構造函數 160 17.3.7 new運算符 161 17.3.8 class關鍵字 162 第 18章 面向對象編程 164 18.1 Ingredient 164 18.2 FoodFactory 164 18.3 Vessel 164 18.4 Burner 165 18.5 灶臺類型與多態爐灶 166 18.6 類定義 166 18.6.1 print.js 167 18.6.2 Ingredient 167 18.6.3 FoodFactory 168 18.6.4 Fridge 168 18.6.5 convert_energy_to_heat 169 18.6.6 Vessel 170 18.6.7 Burner 172 18.6.8 Range 172 18.7 組裝 175 18.7.1 定義成分 176 18.7.2 實例化灶臺對象 177 第 19章 事件 179 19.1 瀏覽器事件 179 19.2 合成事件 179 19.2.1 事件對象 179 19.2.2 事件捕獲與事件冒泡 180 19.2.3 dispatchEvent 181 19.2.4 removeEventListener 181 19.2.5 CustomEvent對象 182 19.2.6 setTimeout 183 19.2.7 setInterval 184 19.3 攔截瀏覽器事件 184 19.4 顯示鼠標位置 185 19.5 通用的鼠標事件類 186 19.5.1 包含和使用Mouse類 187 19.5.2 解析Mouse類 188 第 20章 網絡請求 190 20.1 回調地獄 192 20.2 Promise 193 20.2.1 Promise.resolve 193 20.2.2 Promise.reject 195 20.2.3 組裝 195 20.2.4 Promise.all 196 20.2.5 Promise解析 197 20.2.6 Promise小結 197 20.3 axios 198 20.4 FetchAPI 198 20.5 獲取POST負載 199 20.6 async/await 200 20.6.1 async關鍵字的基礎 200 20.6.2 await 202 20.6.3 async/await中的try-catch 202 20.6.4 小結 203 20.7 生成器 204 20.7.1 yield 204 20.7.2 捕獲錯誤 205 第 21章 事件循環 206 第 22章 調用棧 209 22.1 什么是調用棧 209 22.2 執行語境 211 22.2.1 什么是執行語境 211 22.2.2 根執行語境 211 22.2.3 工作方式 211 22.3 代碼中的執行語境 211 22.3.1 window與全局作用域 212 22.3.2 調用棧 212 22.3.3 call、bind、apply 214 22.3.4 棧溢出 214
|
序: |
|