91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
JavaScript經(jīng)典實例(第三版)
JavaScript經(jīng)典實例(第三版)
Adam D. Scott, Matthew MacDonald, Shelley Powers
安道 譯
出版時間:2022年09月
頁數(shù):567
“為JavaScript開發(fā)人員經(jīng)常遇到的問題給出了切實可行的解決方案。所有方案都依托精心編寫的代碼示例進行講解,而且時刻不忘現(xiàn)代JavaScript 最佳實踐?!?br /> ——Sarah Wachs
軟件開發(fā)者,Women Who Code領軍人物

為什么每次遇到JavaScript問題都要從頭思索一番呢?這本經(jīng)典實例充滿各種常見編程任務的秘籍,還有構建可在任何瀏覽器中運行的應用所需的技術。本書給出的代碼示例幾乎可以直接用到任何項目中,而且你將學到更多的JavaScript知識。
書中的經(jīng)典實例使用ECMAScript 2020及后續(xù)版本的最新特性,而且使用現(xiàn)代JavaScript編程標準。閱讀本書將學到以下知識。
● 設置一個高效的開發(fā)環(huán)境,包含代碼編輯器、lint程序和測試服務器。
● 提高對JavaScript函數(shù)的理解,包括箭頭句法、閉包和生成器。
● 運用面向對象編程概念,例如類和繼承。
● 在JavaScript中處理富媒體,包括音頻、視頻和SVG。
● 處理HTML標記和CSS樣式。
● 借助Node.js在任何地方使用JavaScript。
● 使用REST、GraphQL和fetch訪問及處理遠程數(shù)據(jù)。
● 上手使用流行的應用構建框架Express。
● 使用promise、async/await和Web職程執(zhí)行異步操作。
  1. 前言
  2. 第一部分 JavaScript語言
  3. 第1章 搭建開發(fā)環(huán)境
  4. 1.1 選擇代碼編輯器
  5. 1.2 使用瀏覽器中的開發(fā)者控制臺
  6. 1.3 在開發(fā)者控制臺中運行代碼塊
  7. 1.4 使用嚴格模式捕獲常見錯誤
  8. 1.5 使用Emmet快捷鍵填充HTML樣板代碼
  9. 1.6 安裝npm包管理器(及Node.js)
  10. 1.7 使用npm下載包
  11. 1.8 使用npm更新包
  12. 1.9 設置本地測試服務器
  13. 1.10 使用lint工具實施代碼標準
  14. 1.11 使用格式化工具保持代碼風格一致
  15. 1.12 在JavaScript Playground中試驗
  16. 第2章 字符串和正則表達式
  17. 2.1 檢查字符串存在,不為空
  18. 2.2 把數(shù)值轉換為格式化字符串
  19. 2.3 插入特殊字符
  20. 2.4 插入表情符號
  21. 2.5 使用模板字面量簡化字符串拼接
  22. 2.6 不區(qū)分大小寫比較字符串
  23. 2.7 檢查字符串中是否包含指定的子串
  24. 2.8 替換字符串出現(xiàn)的每一處
  25. 2.9 把HTML標簽替換為具名實體
  26. 2.10 使用正則表達式替換字符串中的模式
  27. 2.11 從字符串中提取列表
  28. 2.12 查找滿足模式的所有內容
  29. 2.13 刪除字符串頭尾的空白
  30. 2.14 把字符串的第一個字母轉換為大寫
  31. 2.15 驗證電子郵件地址
  32. 第3章 數(shù)字
  33. 3.1 生成隨機數(shù)
  34. 3.2 生成密碼學上安全的隨機數(shù)
  35. 3.3 四舍五入到指定的小數(shù)位
  36. 3.4 保留小數(shù)的精確度
  37. 3.5 把字符串轉換成數(shù)字
  38. 3.6 把十進制轉換成十六進制
  39. 3.7 角度和弧度互相轉換
  40. 3.8 計算圓弧的長度
  41. 3.9 使用BigInt處理特別大的數(shù)
  42. 第4章 日期
  43. 4.1 獲取當前日期和時間
  44. 4.2 把字符串轉換成日期
  45. 4.3 在日期上增加天數(shù)
  46. 4.4 比較日期及測試日期是否相同
  47. 4.5 計算兩個日期之間的時間間隔
  48. 4.6 把日期值格式化為字符串
  49. 第5章 數(shù)組
  50. 5.1 檢查一個對象是不是數(shù)組
  51. 5.2 迭代數(shù)組中的所有元素
  52. 5.3 檢查兩個數(shù)組是否相等
  53. 5.4 把數(shù)組拆散成單獨的變量
  54. 5.5 把數(shù)組傳給接受一組值的函數(shù)
  55. 5.6 克隆數(shù)組
  56. 5.7 合并兩個數(shù)組
  57. 5.8 按位置復制數(shù)組的一部分
  58. 5.9 提取符合指定條件的數(shù)組元素
  59. 5.10 清空數(shù)組
  60. 5.11 去除重復的值
  61. 5.12 展平二維數(shù)組
  62. 5.13 在數(shù)組中搜索完全匹配的元素
  63. 5.14 在數(shù)組中搜索滿足指定條件的元素
  64. 5.15 刪除或替換數(shù)組元素
  65. 5.16 按屬性值排序對象數(shù)組
  66. 5.17 變換數(shù)組中的每一個元素
  67. 5.18 一次計算合并數(shù)組中的全部值
  68. 5.19 驗證數(shù)組內容
  69. 5.20 創(chuàng)建沒有重復值的集合
  70. 5.21 創(chuàng)建使用鍵索引的元素集合
  71. 第6章 函數(shù)
  72. 6.1 把一個函數(shù)作為參數(shù)傳給另一個函數(shù)
  73. 6.2 使用箭頭函數(shù)
  74. 6.3 為參數(shù)提供默認值
  75. 6.4 定義接受無限參數(shù)的函數(shù)
  76. 6.5 使用具名函數(shù)參數(shù)
  77. 6.6 定義在閉包中存儲狀態(tài)的函數(shù)
  78. 6.7 定義可產(chǎn)出多個值的生成器函數(shù)
  79. 6.8 使用部分應用技術減少冗余
  80. 6.9 使用函數(shù)綁定修正this
  81. 6.10 實現(xiàn)遞歸算法
  82. 第7章 對象
  83. 7.1 檢查對象的類型
  84. 7.2 使用對象字面量打包數(shù)據(jù)
  85. 7.3 檢查對象中有沒有某個屬性
  86. 7.4 迭代對象的所有屬性
  87. 7.5 測試空對象
  88. 7.6 合并兩個對象的屬性
  89. 7.7 定制定義屬性的方式
  90. 7.8 阻止修改對象
  91. 7.9 使用代理截取并改變對象上的操作
  92. 7.10 克隆對象
  93. 7.11 深拷貝對象
  94. 7.12 創(chuàng)建絕對唯一的對象屬性鍵
  95. 7.13 使用Symbol創(chuàng)建枚舉
  96. 第8章 類
  97. 8.1 創(chuàng)建一個可重用的類
  98. 8.2 為類添加屬性
  99. 8.3 為類提供更好的字符串表示形式
  100. 8.4 使用構造函數(shù)模式自定義類
  101. 8.5 讓類中的方法支持串聯(lián)
  102. 8.6 為類添加靜態(tài)方法
  103. 8.7 使用靜態(tài)方法創(chuàng)建對象
  104. 8.8 從其他類繼承功能
  105. 8.9 使用模塊組織JavaScript類
  106. 第9章 異步編程
  107. 9.1 在循環(huán)中更新頁面
  108. 9.2 使用返回promise的函數(shù)
  109. 9.3 改造基于回調的異步函數(shù),使用promise
  110. 9.4 并發(fā)執(zhí)行多個promise
  111. 9.5 使用await和async等待promise結束
  112. 9.6 創(chuàng)建異步生成器函數(shù)
  113. 9.7 使用Web職程執(zhí)行后臺任務
  114. 9.8 為Web職程添加進度支持
  115. 第10章 錯誤和測試
  116. 10.1 捕獲并壓制錯誤
  117. 10.2 捕獲不同類型的錯誤
  118. 10.3 捕獲異步錯誤
  119. 10.4 檢測未處理的錯誤
  120. 10.5 拋出標準錯誤
  121. 10.6 拋出自定義錯誤
  122. 10.7 為代碼編寫單元測試
  123. 10.8 跟蹤測試代碼覆蓋率
  124. 第二部分 瀏覽器中的JavaScript
  125. 第11章 瀏覽器工具
  126. 11.1 調試JavaScript
  127. 11.2 分析運行時性能
  128. 11.3 找出未使用的JavaScript代碼
  129. 11.4 使用Lighthouse衡量最佳實踐
  130. 第12章 處理HTML
  131. 12.1 獲取指定的元素,查找它的父元素和子元素
  132. 12.2 使用forEach()遍歷querySelectorAll()獲取的結果
  133. 12.3 為元素添加點擊功能
  134. 12.4 查找具有同一屬性的全部元素
  135. 12.5 獲取所有特定類型的元素
  136. 12.6 使用Selectors API查找所有子元素
  137. 12.7 修改元素的類值
  138. 12.8 設置元素的樣式屬性
  139. 12.9 為新段落添加文本
  140. 12.10 把新元素插入DOM的特定位置
  141. 12.11 檢查有沒有勾選復選框
  142. 12.12 對HTML表格中的值求和
  143. 12.13 刪除HTML表格中的行
  144. 12.14 隱藏頁面中的部分內容
  145. 12.15 創(chuàng)建懸停彈出信息窗口
  146. 12.16 驗證表單數(shù)據(jù)
  147. 12.17 突出顯示表單錯誤并符合無障礙功能要求
  148. 12.18 保障自動更新區(qū)域的無障礙功能
  149. 第13章 獲取遠程數(shù)據(jù)
  150. 13.1 使用Fetch API請求遠程數(shù)據(jù)
  151. 13.2 使用XMLHttpRequest
  152. 13.3 提交表單
  153. 13.4 從服務器獲取數(shù)據(jù)填充選擇列表
  154. 13.5 解析返回的JSON
  155. 13.6 獲取及解析XML
  156. 13.7 發(fā)送二進制數(shù)據(jù),載入圖像
  157. 13.8 跨域共享HTTP cookie
  158. 13.9 使用Websockets在客戶端和服務器之間建立雙向通信
  159. 13.10 長時間輪詢遠程數(shù)據(jù)源
  160. 第14章 數(shù)據(jù)持久化
  161. 14.1 使用cookie持久存儲信息
  162. 14.2 使用sessionStorage在客戶端存儲數(shù)據(jù)
  163. 14.3 使用localStorage在客戶端存儲數(shù)據(jù)
  164. 14.4 使用IndexedDB在客戶端持久存儲大段數(shù)據(jù)
  165. 14.5 借助代碼庫簡化IndexedDB操作
  166. 第15章 處理媒體文件
  167. 15.1 為SVG添加JavaScript代碼
  168. 15.2 在網(wǎng)頁腳本中訪問SVG
  169. 15.3 使用D3庫創(chuàng)建一個SVG條形圖
  170. 15.4 在HTML中集成SVG和畫布元素
  171. 15.5 音頻文件開始播放時運行一個例程
  172. 15.6 使用JavaScript控制video元素
  173. 第16章 編寫Web應用
  174. 16.1 打包JavaScript
  175. 16.2 JavaScript和移動Web
  176. 16.3 編寫漸進式Web應用
  177. 16.4 測試和剖析漸進式Web應用
  178. 16.5 獲取當前URL的值
  179. 16.6 重定向URL
  180. 16.7 把文本復制到用戶的剪貼板
  181. 16.8 在桌面瀏覽器中實現(xiàn)類似移動設備的通知
  182. 16.9 在瀏覽器中加載本地文件
  183. 16.10 使用Web組件擴展可能性
  184. 16.11 選擇前端框架
  185. 第三部分 Node.js
  186. 第17章 Node基礎
  187. 17.1 使用Node Version Manager管理Node版本
  188. 17.2 響應簡單的瀏覽器請求
  189. 17.3 使用REPL以交互的方式嘗試Node代碼片段
  190. 17.4 讀寫文件數(shù)據(jù)
  191. 17.5 通過終端獲取輸入
  192. 17.6 獲取當前腳本的路徑
  193. 17.7 使用Node計時器,理解Node事件循環(huán)
  194. 第18章 Node模塊
  195. 18.1 通過npm搜索特定的Node模塊
  196. 18.2 把庫轉換成Node模塊
  197. 18.3 讓代碼支持多個模塊環(huán)境
  198. 18.4 創(chuàng)建可以安裝的Node模塊
  199. 18.5 編寫跨平臺庫
  200. 18.6 對模塊做單元測試
  201. 第19章 管理Node
  202. 19.1 使用環(huán)境變量
  203. 19.2 管理回調地獄
  204. 19.3 在Node應用中調取命令行功能
  205. 19.4 傳遞命令行參數(shù)
  206. 19.5 借助Commander創(chuàng)建命令行實用程序
  207. 19.6 讓Node實例保持運行
  208. 19.7 在本地開發(fā)過程中監(jiān)控應用變化,適時重啟
  209. 19.8 定期運行重復性任務
  210. 19.9 測試WebSockets應用的性能和功能
  211. 第20章 遠程數(shù)據(jù)
  212. 20.1 獲取遠程數(shù)據(jù)
  213. 20.2 屏幕爬取
  214. 20.3 通過REST式API獲取JSON格式數(shù)據(jù)
  215. 第21章 使用Express構建Web應用
  216. 21.1 使用Express響應請求
  217. 21.2 使用 Express-Generator
  218. 21.3 路由
  219. 21.4 使用OAuth
  220. 21.5 使用Passport.js進行OAuth 2用戶驗證
  221. 21.6 伺服格式化數(shù)據(jù)
  222. 21.7 構建一個REST式API
  223. 21.8 構建一個GraphQL
書名:JavaScript經(jīng)典實例(第三版)
譯者:安道 譯
國內出版社:中國電力出版社
出版時間:2022年09月
頁數(shù):567
書號:978-7-5198-6960-1
原版書書名:JavaScript Cookbook, 3E
原版書出版商:O'Reilly Media
Adam D. Scott
 
Adam D. Scott生活在美國康涅狄格州,是一名工程經(jīng)理、Web開發(fā)者和教育工作者。他目前在美國消費者金融保護局擔任Web開發(fā)主管,與才華橫溢的團隊一起專注于構建開源Web應用。他從事教育工作已經(jīng)十多年,經(jīng)歷了很多技術變革。他教授和編寫了一系列技術課程。
 
 
Matthew MacDonald
 
Matthew MacDonald是一位作家、教育家和MCSD開發(fā)人員。他已經(jīng)編寫了幾本使用.NET進行編程的書籍,包括The Book of VB .NET(No Starch)和ASP.NET:The Complete Reference(Osborne McGraw-Hill)。他還是幾本O'Reilly出版的圖書的合作者,包括C# in a Nutshell、ASP.NET in a Nutshell以及ADO.NET in a Nutshell。在記憶已經(jīng)變得有點模糊的過去的時代,他學習英語文學和理論物理。
 
 
Shelley Powers
 
Shelley Powers從JavaScript初次開發(fā)到現(xiàn)在最新的圖形和設計工具發(fā)布,Shelley Powers已經(jīng)從事Web技術工作和寫作達15年之久。她最近在O’Reilly出版的圖書包括語義網(wǎng)、Ajax、JavaScript和Web圖形。她是一位熱情的業(yè)余攝影師,也是Web開發(fā)的狂熱愛好者,她從JavaScript剛發(fā)布時,就開始使用和編寫Web技術相關書籍。她之前在O’Reilly出版了8本書,包括Developing ASP Components(2001),Adding Ajax(2007)和JavaScript Cookbook(2010)。
 
 
本書封面上的動物是一只小白鷺(學名:Egretta garzetta)。小白鷺是新加坡最小、最常見的白鷺,與新大陸的雪鷺很像。這種白鷺最初的繁殖地包括歐洲、亞洲、非洲、中國臺灣和澳大利亞等暖溫帶地區(qū)的大片內陸和沿海濕地。生活在溫暖地帶的小白鷺是留鳥,而北部地區(qū)的小白鷺則會遷徙到非洲和南亞。
成年小白鷺體長55~65厘米,翼展88~106厘米,體重350~550克。身披白色羽毛,腿黑趾黃,喙細黑。在繁殖季節(jié),成年小白鷺枕部著生兩根矛狀毛,背和前頸著生蓑羽,喙眼之間的皮膚呈紅色或藍色。
小白鷺是靈活的獵手,捕獵技術多種多樣:時而在淺水灘耐心追蹤獵物;時而單腿站立,用另一條腿攪動泥巴,嚇唬獵物;時而單腿站立,另一條腿在水面上揮舞引誘。以魚、昆蟲、兩棲動物、甲殼類和爬行動物為食。常與其他涉水鳥結群,在樹木或灌木、蘆葦叢或竹林中營巢。
購買選項
定價:148.00元
書號:978-7-5198-6960-1
出版社:中國電力出版社