JavaScript重難點(diǎn)實(shí)例精講
定 價(jià):79.8 元
- 作者:周雄 著
- 出版時(shí)間:2020/10/1
- ISBN:9787115542625
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:395
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書對JavaScript 的重難點(diǎn)進(jìn)行了總結(jié),并通過具體場景比較不同解決方法的優(yōu)缺點(diǎn)。全書共7章,第1章是JavaScript 重點(diǎn)概念,第2章是引用數(shù)據(jù)類型,第3章是函數(shù),第4章是對象,第5章是DOM與事件,第6章是Ajax,第7章是ES6。
本書可作為Web前端開發(fā)、網(wǎng)頁設(shè)計(jì)與制作、網(wǎng)站建設(shè)人員的自學(xué)用書,也適合經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員深入學(xué)習(xí)。
這不是一本單純介紹JavaScript入門的書,而是一本專注解決問題的書。
1.頭條號專欄作者/阿里巴巴高級前端開發(fā)工程師多年經(jīng)驗(yàn)總結(jié);
2.阿里巴巴/美團(tuán)/騰訊/愛奇藝資深技術(shù)專家大力推薦;
3.從真實(shí)場景出發(fā),詳細(xì)拆解關(guān)鍵問題的不同解析思路,提供JavaScript高效學(xué)習(xí)路線。
系統(tǒng)梳理——解析開發(fā)過程中的易錯(cuò)點(diǎn)、重難點(diǎn),杜絕開發(fā)難題。
場景實(shí)現(xiàn)——每處重點(diǎn)均結(jié)合豐富場景全面剖析,提升實(shí)戰(zhàn)經(jīng)驗(yàn)。
思路詳解——完整講述實(shí)例代碼實(shí)現(xiàn)的分析思路,力求授人以漁。
周雄,阿里巴巴高級前端開發(fā)工程師,負(fù)責(zé)前端工程、中后臺業(yè)務(wù)開發(fā),針對B端管理系統(tǒng)以及H5頁面開發(fā)有著豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。
在今日頭條上維護(hù)頭條號“coder分享”,編寫前端領(lǐng)域技術(shù)文章,并錄制《git系列視頻教程》,深得用戶喜愛。
第 1章 JavaScript重點(diǎn)概念
1.1 JavaScript的基本數(shù)據(jù)類型介紹
1.2 Number類型詳解
1.2.1 Number類型介紹
1.2.2 Number類型轉(zhuǎn)換
1.2.3 isNaN()函數(shù)與Number.isNaN()函數(shù)對比
1.2.4 浮點(diǎn)型運(yùn)算
1.3 String類型詳解
1.3.1 String類型的定義與調(diào)用
1.3.2 String類型常見算法
1.4 運(yùn)算符
1.4.1 等于運(yùn)算符
1.4.2 typeof運(yùn)算符
1.4.3 逗號運(yùn)算符
1.4.4 運(yùn)算符優(yōu)先級
1.5 toString()函數(shù)與valueOf()函數(shù)
1.6 JavaScript中常用的判空方法
1.7 JavaScript中的switch語句
第 2章 引用數(shù)據(jù)類型
2.1 Object類型及其實(shí)例和靜態(tài)函數(shù)
2.1.1 深入了解JavaScript中的new操作符
2.1.2 Object類型的實(shí)例函數(shù)
2.1.3 Object類型的靜態(tài)函數(shù)
2.2 Array類型
2.2.1 判斷一個(gè)變量是數(shù)組還是對象
2.2.2 filter()函數(shù)過濾滿足條件的數(shù)據(jù)
2.2.3 reduce()函數(shù)累加器處理數(shù)組元素
2.2.4 求數(shù)組的最大值和最小值
2.2.5 數(shù)組遍歷的7種方法及兼容性處理(polyfill)
2.2.6 數(shù)組去重的7種算法
2.2.7 找出數(shù)組中出現(xiàn)次數(shù)最多的元素
2.3 Date類型
2.3.1 日期格式化
2.3.2 日期合法性校驗(yàn)
2.3.3 日期計(jì)算
第3章 函數(shù)
3.1 函數(shù)的定義與調(diào)用
3.1.1 函數(shù)的定義
3.1.2 函數(shù)的調(diào)用
3.1.3 自執(zhí)行函數(shù)
3.2 函數(shù)參數(shù)
3.2.1 形參和實(shí)參
3.2.2 arguments對象的性質(zhì)
3.2.3 arguments對象的應(yīng)用
3.3 構(gòu)造函數(shù)
3.4 變量提升與函數(shù)提升
3.4.1 作用域
3.4.2 變量提升
3.4.3 函數(shù)提升
3.4.4 變量提升與函數(shù)提升的應(yīng)用
3.5 閉包
3.5.1 執(zhí)行上下文環(huán)境
3.5.2 閉包的概念
3.5.3 閉包的用途
3.5.4 小結(jié)
3.6 this使用詳解
3.7 call()函數(shù)、apply()函數(shù)、bind()函數(shù)的
使用與區(qū)別
3.7.1 call()函數(shù)的基本使用
3.7.2 apply()函數(shù)的基本使用
3.7.3 bind()函數(shù)的基本使用
3.7.4 call()函數(shù)、apply()函數(shù)、bind()函數(shù)的比較
3.7.5 call()函數(shù)、apply()函數(shù)、bind()函數(shù)的巧妙用法
第4章 對象
4.1 對象的屬性和訪問方式
4.1.1 對象的屬性
4.1.2 屬性的訪問方式
4.2 創(chuàng)建對象
4.3 對象克隆
4.3.1 對象淺克隆
4.3.2 對象深克隆
4.4 原型對象
4.4.1 原型對象、構(gòu)造函數(shù)、實(shí)例之間的關(guān)系
4.4.2 原型鏈
4.5 繼承
4.5.1 原型鏈繼承
4.5.2 構(gòu)造繼承
4.5.3 復(fù)制繼承
4.5.4 組合繼承
4.5.5 寄生組合繼承
4.6 instanceof運(yùn)算符
4.6.1 instanceof運(yùn)算符的常規(guī)用法
4.6.2 instanceof運(yùn)算符用于繼承判斷
4.6.3 instanceof運(yùn)算符的復(fù)雜用法
4.6.4 instanceof運(yùn)算符的復(fù)雜用法的詳細(xì)處理過程
第5章 DOM與事件
5.1 DOM選擇器
5.1.1 傳統(tǒng)原生JavaScript選擇器
5.1.2 新型的querySelector選擇器和queryS electorAll選擇器
5.2 HTMLCollection對象與NodeList對象
5.3 常用的DOM操作
5.3.1 新增節(jié)點(diǎn)
5.3.2 刪除節(jié)點(diǎn)
5.3.3 修改節(jié)點(diǎn)
5.4 事件流
5.5 事件處理程序
5.5.1 DOM0級事件處理程序
5.5.2 DOM2級事件處理程序
5.5.3 DOM3級事件處理程序
5.6 Event對象
5.6.1 獲取Event對象
5.6.2 獲取事件的目標(biāo)元素
5.6.3 target屬性與currentTarget屬性
5.6.4 阻止事件冒泡
5.6.5 阻止默認(rèn)行為
5.7 事件委托
5.7.1 已有元素的事件綁定
5.7.2 新創(chuàng)建元素的事件綁定
5.8 contextmenu右鍵事件
5.9 文檔加載完成事件
5.9.1 load事件
5.9.2 ready事件
5.9.3 加載完成事件的執(zhí)行順序
5.10 瀏覽器的重排和重繪
5.10.1 重排
5.10.2 重繪
5.10.3 性能優(yōu)化
第6章
6.1 Ajaxr的基本原理及執(zhí)行過程
6.1.1 XMLHttpRequest對象
6.1.2 XMLHttpRequest對象生命周期
6.1.3 Ajax的優(yōu)缺點(diǎn) 253
6.2 使用Nodejs搭建簡易服務(wù)器
6.3 使用Ajax提交form表單
6.3.1 通用處理
6.3.2 使用原生Ajax進(jìn)行提交
6.3.3 使用jQuery處理Ajax請求進(jìn)行提交
6.3.4 使用jQuery序列化form表單進(jìn)行提交
6.3.5 使用FormData對象進(jìn)行提交
6.4 關(guān)于Ajax請求的get方式和post方式
6.4.1 get方式和post方式的區(qū)別
6.4.2 使用get方式和post方式需要注意的點(diǎn)
6.4.3 get方式和post方式的使用場景
6.5 Ajax進(jìn)度事件
6.5.1 load事件
6.5.2 progress事件
6.6 JSON序列化和反序列化
6.6.1 JSON序列化
6.6.2 JSON反序列化
6.7 Ajax跨域解決方案
6.7.1 瀏覽器同源策略
6.7.2 瀏覽器跨域限制
6.7.3 Ajax跨域請求場景
6.7.4 CORS
6.7.5 JSONP
第7章 ES6
7.1 let關(guān)鍵字和const關(guān)鍵字
7.1.1 let關(guān)鍵字
7.1.2 const關(guān)鍵字
7.2 解構(gòu)賦值
7.2.1 數(shù)組的解構(gòu)賦值
7.2.2 對象的解構(gòu)賦值
7.3 擴(kuò)展運(yùn)算符與rest運(yùn)算符
7.3.1 擴(kuò)展運(yùn)算符
7.3.2 rest運(yùn)算符
7.4 模板字符串
7.4.1 字符串原生輸出
7.4.2 字符串變量值傳遞
7.5 箭頭函數(shù)
7.5.1 箭頭函數(shù)的特點(diǎn)
7.5.2 箭頭函數(shù)不適用的場景
7.6 ES6對于對象的擴(kuò)展
7.6.1 屬性簡寫
7.6.2 屬性遍歷
7.6.3 新增Object.a(chǎn)ssign()函數(shù)
7.7 Symbol類型
7.7.1 Symbol類型的特性
7.7.2 Symbol類型的用法
7.8 Set數(shù)據(jù)結(jié)構(gòu)和Map數(shù)據(jù)結(jié)構(gòu)
7.8.1 Set數(shù)據(jù)結(jié)構(gòu)
7.8.2 Map數(shù)據(jù)結(jié)構(gòu)
7.9 Proxy
7.9.1 Proxy概述
7.9.2 Proxy實(shí)例函數(shù)及其基本使用
7.9.3 Proxy的使用場景
7.10 Reflect
7.10.1 Reflect概述
7.10.2 Reflect靜態(tài)函數(shù)
7.10.3 Reflect與Proxy
7.11 Promise
7.11.1 Promise誕生的原因
7.11.2 Promise的生命周期
7.11.3 Promise的基本用法
7.11.4 Promise的用法實(shí)例
7.12 Iterator與for...of循環(huán)
7.12.1 Iterator概述
7.12.2 默認(rèn)Iterator接口
7.12.3 for...of循環(huán)
7.12.4 for...of循環(huán)與其他循環(huán)方式的比較
7.13 Generator()函數(shù)
7.13.1 Generator()函數(shù)的概述與特征
7.13.2 Generator()函數(shù)注意事項(xiàng)
7.14 Class
7.14.1 Class基本用法
7.14.2 class繼承
7.15 Module
7.15.1 Module概述
7.15.2 export命令
7.15.3 import命令
7.15.4 export default
7.15.5 Module加載的實(shí)質(zhì)