細說JavaScript語言
內容描述
本書的重點是JavaScript語言的基礎語法,它是JavaScript能夠實現高級特效的必要前提。本書通過最通俗的方式講解了JavaScript語言中的變量、數據結構、運算符、語句、函數、對象等知識。
雖然本書內容只是JavaScript的基礎,和網頁沒有關系,並不能實現太多頁面中的特效,但本書能夠起到引領的作用,能夠帶你走進JavaScript的微妙世界,是學習前端最核心的內容。本書是“跟兄弟連學HTML5系列教程”的第二本書,在知識體系方面需要先掌握系列圖書第一本《細說網頁製作》中的一部分內容,同時為讀者之後學習同系列其他圖書做鋪墊。
目錄大綱
第1章初識JavaScript 1
1.1 JavaScript概述2
1.1.1 JavaScript和HTML的關係2
1.1.2 JavaScript與瀏覽器的關係3
1.1.3 JavaScript的運行原理4
1.2 JavaScript的主要應用5
1.2.1處理用戶事件5
1.2.2用JavaScript跨平台開發移動APP 7
1.2.3節省與Web服務器的交互時間8
1.2.4編寫頁面特效8
1.2.5客戶端功能插件10
1.2.6遊戲和微活動11
1.2.7其他方面的應用11
1.3 JavaScript的發展史12
1.3.1 JavaScript的誕生12
1.3.2 JavaScript與Java的關係13
1.3.3 JavaScript與JScript的關係13
1.4偉大的ECMA標準13
1.4.1 ECMAScript標準是什麼14
1.4.2 ECMAScript標準的由來14
1.4.3 ECMAScript的版本14
1.4.4 ECMAScript第6版的新特性15
1.5 JavaScript的特性16
1.6 JavaScript的組成16
1.6.1 JavaScript語言的語法17
1.6.2文檔對像模型(DOM) 17
1.6.3瀏覽器對像模型(BOM) 18
1.7 JavaScript在移動開發中的應用19
1.7.1 PC端和移動端開發的區別19
1.7.2什麼是移動端Web APP 19
1.8 JavaScript常見的開發形式20
1.8.1原生JavaScript 20
1.8.2 JavaScript插件20
1.8.3 JavaScript框架20
1.9 JavaScript的開發工具21
1.10本書的上下文內容23
1.11 JavaScript的學習方法23
1.11.1編程思想24
1.11.2編程實戰24
1.11.3要事為先的原則24
1.11.4 Bug解決之道25
1.11.5看教學視頻,讓學習變得簡單26
本章小結27
課後練習題27
第2章學習前的準備29
2.1開發環境和開發工具的選擇與使用29
2.1.1開發環境30
2.1.2開發工具34
2.1.3 *擴展36
2.2在HTML中如何使用JavaScript 38
2.2.1行內式38
2.2.2嵌入式42
2.2.3引入式43
2.2.4三種方式的特點44
2.3基本調試方法45
2.3.1警告窗45
2.3.2修改網頁內容46
2.3.3修改標籤內容47
2.3.4控制台50
2.4書寫規範52
2.4.1基本的標點符號52
2.4.2嚴格區分大小寫55
2.4.3註釋56
2.5標識符58
2.6保留字59
2.7 JavaScript的優化設計思想60
本章小結61
課後練習題62
第3章JavaScript中的變量64
3.1變量的聲明和賦值64
3.1.1變量聲明64
3.1.2變量賦值66
3.2變量提升67
3.3全局變量和局部變量69
3.4變量的命名規則70
3.5 ES6新特性之局部變量71
3.5.1 let關鍵字的基本使用71
3.5.2新增的區塊作用域72
3.5.3關鍵字let與var的區別73
3.6 ES6新特性之全局變量75
3.7 ES6新特性之解構賦值76
本章小結78
課後練習題78
第4章JavaScript的數據類型80
4.1獲取數據類型80
4.2字符串類型(string) 82
4.2.1字面量表示82
4.2.2轉義字符84
4.2.3字符串的特點85
4.2. 4 ES6新特性之模板字符串86
4.3數值類型(number) 88
4.3.1字面量表示88
4.3.2進制轉換88
4.3.3浮點數89
4.3.4浮點數的算術運算90
4.3.5數值範圍91
4.3.6 NaN 91
4.4布爾類型(boolean) 92
4.5未定義類型(undefined) 93
4.6空類型(null) 93
4.7對像類型(object) 94
4.8類型轉換95
4.8.1字符串類型轉換95
4.8.2數值類型轉換97
4.8.3布爾類型轉換101
4.9 ES6之Symbol類型102
4.9.1 Symbol類型的創建103
4.9.2 Symbol類型的特性103
4.9.3獲取已創建的Symbol類型105
本章小結107
課後練習題107
第5章表達式與運算符110
5.1表達式110
5.1.1簡單表達式111
5.1.2複雜表達式111
5.2運算符113
5.2.1算術運算符113
5.2.2賦值運算符118
5.2.3關係運算符118
5.2.4邏輯運算符121
5.2.5位運算符126
5.2.6其他運算符129
5.2.7優先級133
本章小結136
課後練習題136
第6章語句139
6.1順序結構139
6.2表達式語句140
6.3聲明語句141
6.4條件語句141
6.4.1 if語句142
6.4.2 if...else語句143
6.4.3 else if語句145
6.4.4 switch語句147
6.5循環語句149
6.5.1 while循環150
6.5. 2 do...while循環151
6.5.3 for循環152
6.5.4 for...in循環156
6.6跳出語句156
6.6.1 label語句157
6.6.2 break語句157
6.6.3 continue語句158
本章小結160
課後練習題160
第7章函數163
7.1函數分類163
7.2自定義函數164
7.2.1函數的創建和調用164
7.2.2參數166
7.2.3返回值170
7.3函數的特殊類型170
7.3.1函數表達式170
7.3.2自執行函數171
7.3.3回調函數173
7.3.4遞歸函數175
7.3.5構造函數178
7.4函數作用域178
7.4.1局部變量178
7.4.2變量的訪問機制179
7.4.3變量的生命週期180
7.5閉包181
7.6 ES6函數新特性184
7.6.1 rest參數184
7.6.2箭頭函數184
本章小結186
課後練習題186
第8章對象189
8.1理解對象189
8.1.1什麼是對象190
8.1.2對像有什麼用191
8.1.3如何使用對象192
8.2創建對象194
8.2.1字面量創建194
8.2.2構造函數創建195
8.2.3工廠模式196
8.2.4自定義構造函數197
8.3對象屬性200
8.3.1屬性的查詢200
8.3.2屬性的刪除200
8.3.3屬性的遍歷201
8.4對象的存儲202
8.4.1存儲機制202
8.4.2垃圾回收機制203
8.4.3內存優化203
8.5 ES6對像新特性204
8.5.1屬性的簡潔表示法204
8.5.2屬性名的表達式206
本章小結208
課後練習題208
第9章數組210
9.1理解數組210
9.1.1什麼是數組210
9.1.2數組的組成結構211
9.1.3數組和對象的聯繫與區別211
9.2創建數組213
9.2.1構造函數創建數組214
9.2 .2數組直接量創建數組215
9.3數組元素216
9.3.1元素的獲取216
9.3.2元素的添加、修改和刪除217
9.3.3元素的查詢221
9.3.4元素的遍歷222
9.4特殊的數組形式225
9.4.1稀疏數組226
9.4.2多維數組227
9.4.3類數組對象228
9.4.4字符串229
9.5數組特有的方法229
9.5.1 join()方法230
9.5.2 concat()方法230
9.5.3 splice()方法232
9.5.4 slice()方法232
9.5.5 push()和pop()方法233
9.5.6 unshift()和shift()方法233
9.5.7 forEach()方法234
9.5.8 map( )方法235
9.5.9 filter()方法236
9.5.10 every()和some()方法237
9.5.11 reduce()和reduceRight()方法238
9.5.12 indexOf()和lastIndexOf()方法239
9.6 ES6數組新特性239
9.6.1 Array.of()方法240
9.6.2數組實例的find()和findIndex()方法240
9.6.3數組實例的fill()方法241
本章小結242
課後練習題243
第10章內置對象245
10.1 String對象245
10.1.1簡單上手246
10.1.2構造方法246
10.1.3其他方法247
10.1.4實際操作248
10.2 Math對象249
10.2.1簡單上手250
10.2.2對象屬性250
10.2.3對象方法250
10.2.4實際操作251
10.3 Date對象253
10.3.1簡單上手253
10.3.2構造方法253
10.3.3實例方法255
10.3.4靜態方法258
10.3.5實際操作259
10.4 RegExp對象260
10.4.1簡單上手260
10.4.2構造方法260
10.4.3元字符261
10.4.4運算符優先級263
10.4.5實際操作264
10.5 Number對象265
10.5.1簡單上手265
10.5.2構造方法265
10.5.3對象屬性266
10.5.4對象方法266
10.5.5實際操作268
10.6 Event對象268
10.6.1簡單上手269
10.6.2事件句柄(Event Handlers) 269
10.6.3鼠標/鍵盤屬性271
10.6.4 IE屬性272
10.6.5標準Event對象屬性274
10.6.6標準Event對象方法274
本章小結275
課後練習題275
作者介紹
兄弟連IT教育,成立於2006年,中國程序員培訓領導者。
兄弟連以“優秀的教學、嚴格的管理、職業素質課貫穿始終”而聞名,現已開設PHP、UI、HTML5、Java/Android、iOS、Linux等眾多課程,分別在北京、上海、廣州、瀋陽、揚州、蘇州、鄭州、濟南設立校區,今後會陸續在成都、西安、武漢等地建設校區,每年有數十萬名學員受益於兄弟連的職業培訓、教學視頻、網絡公開課、院校講座、出版書籍。