《javascript修煉之道》是2020年人民郵電出版社出版的圖書,本書可分為基礎知識、核心技術、高級套用和項目實戰四部分內容。
基本介紹
- 中文名:javascript修煉之道
- 作者:聶常紅、 劉偉
- 出版社:人民郵電出版社
- ISBN:9787115528971
內容簡介,圖書目錄,作者簡介,
內容簡介
本書可分為基礎知識、核心技術、高級套用和項目實戰四部分內容。基礎知識部分主要包括標識符、關鍵字和保留字、變數、數據類型、表達式和運算符、流程控制語句、在網頁中嵌入JavaScript代碼的三種方式以及程式調試方法等內容;核心技術部分主要包括JavaScript函式、數組、JSON、字元串的處理、定時器、Math對象、Date對象、BOM對象、DOM模型以及使用DOM操作HTML文檔及表單和表格、使用JavaScript操作屬性和元素內容、事件處理、正則表達式等內容;高級套用主要包括:JavaScript面向對象及組件開發、Ajax編程等內容;項目實戰則是使用了HTML5 CSS3 JavaScript實現了一個雲盤。 本書除了詳細介紹了JavaScript的基礎理論外,還詳細介紹了JavaScrilpt核心理論:“變數提升、作用域鏈、原型鏈”。本書*特色的地方是提供了包括圖片的切換、圖片輪播、字元串查找與替換、選項卡、彈窗、上下文選單、表單數據有效性校驗、瀑布流布局、留言本的實現等大量實用案例。 本書可作為大中專院校計算機及相關專業以及相關培訓機構的教材,也可作為網頁設計、網頁製作、網站建設、Web前端開發等開發人員的參考書。
圖書目錄
第 1章 JavaScript入門 1
1.1 JavaScript概述 1
1.1.1 JavaScript發展歷史 1
1.1.2 JavaScript組成部分及特點 2
1.1.3 JavaScript與Java的區別 3
1.1.4 JavaScript語法特點及編輯工具 3
1.1.5 JavaScript 的實際套用場景 4
1.1.6 JavaScript實現網頁動態變化原理以及執行順序 5
1.2 JavaScript代碼的調試方法 6
1.2.1 使用alert( )方法調試腳本代碼 6
1.2.2 使用console.log( )方法調試腳本代碼 8
1.2.3 使用Chrome的“開發者工具”調試腳本代碼 10
1.3 第 一個JavaScript實例 13
1.4 標識符、關鍵字和保留字 19
1.5 直接量 20
1.6 變數 20
1.6.1 使用var、let和const聲明變數 20
1.6.2 變數的記憶體分配 23
1.6.3 變數提升和預解析 25
1.6.3 變數的作用域 32
1.6.4 作用域鏈 34
1.7 數據類型 37
1.7.1 使用typeof運算符檢測數據類型 37
1.7.2 數字類型 38
1.7.3 字元串類型 39
1.7.4 布爾類型 41
1.7.5 函式類型 41
1.7.6 對象類型 42
1.7.7 null和類型 42
1.7.8 數據類型的轉換 43
1.7.9 isNaN( )的套用 46
1.8 表達式和運算符 48
1.8.1 算術表達式 48
1.8.2 關係表達式 50
1.8.3 邏輯表達式 51
1.8.4 賦值表達式 55
1.8.5 條件表達式 56
1.8.6 new運算符 56
1.8.7 運算符的優先權及結合性 57
1.9 語句 58
1.9.1 表達式語句 58
1.9.2 聲明語句 58
1.9.3 判斷語句 59
1.9.4 循環語句 65
1.9.5 循環終止和退出語句 68
1.10 在網頁中嵌入JS代碼 70
1.10.1 在HTML標籤的事件屬性中直接添加腳本 70
1.10.2 使用script標籤插入腳本代碼 71
1.10.3 使用script標籤連結外部JS檔案 72
練習題 73
第 2章 Array及JSON 74
2.1 數組及其在圖片切換中的套用 74
2.1.1 數組的創建及其元素的引用 75
2.1.2 數組的常用方法及屬性 75
2.1.3 數組在圖片切換中的套用 82
2.2 JSON 85
2.2.1 JSON數據格式及JSON變數的聲明及套用 85
2.2.2 JSON與JS對象的相互轉換及套用 86
2.2.3 使用for-in遍歷對象屬性 87
練習題 88
第3章 使用JavaScript操作屬性及元素內容 89
3.1 使用JavaScript操作元素屬性及樣式屬性 90
3.1.1 屬性讀、寫操作 90
3.1.2 屬性操作注意事項 91
3.2 使用classList屬性操作類屬性 98
3.3 使用cssText屬性設定或修改元素行內樣式 100
3.4 使用getComputedStyle( )和currentStyle獲取樣式 102
3.5 使用innerHTML屬性訪問或設定元素內容 103
3.6 自定義屬性及其在圖片切換中的套用 105
3.6.1 自定義開關屬性及其在圖片切換中的套用 106
3.6.2 自定義數字屬性及其在圖片切換中的套用 107
3.6.3 自定義索引屬性及其在圖片切換中的套用 108
練習題 111
第4章 JavaScript函式 112
4.1 函式定義 112
4.2 return語句詳解 114
4.3 函式調用 115
4.4 arguments實參集合對象 118
4.5 使用函式封裝圖片切換代碼及函式傳參實例 120
4.6 閉包 123
4.7 this指向及this的套用 128
4.8 內置函式 131
練習題 133
第5章 定時器、Math對象及Date對象 134
5.1 定時器 134
5.1.1 間歇定時器的創建與清除 134
5.1.2 延遲定時器的創建和清除 136
5.1.3 使用定時器實現圖片輪播 137
5.2 Math對象 138
5.3 Date對象的創建及其常用方法 140
5.4 使用定時器、Date對象和Math對象實現倒計時效果 142
練習題 143
第6章 字元串 144
6.1 字元串概述 144
6.2 操作字元:charAt( )、charCodeAt( )和fromCharCode( ) 146
6.3 字元搜尋方法:indexOf( )和lastIndexOf( ) 148
6.4 截取字元串方法:substring( )、substr( )和slice( ) 150
6.5 分割字元串方法:split( ) 152
6.6 字元串大小寫轉換及字元串的比較 155
練習題 156
第7章 使用HTML DOM對象操作HTML文檔 156
7.1 HTML DOM概述 156
7.2 節點類型 157
7.2.1 document根節點 158
7.2.2 使用document操作cookie 160
7.2.3 元素節點 163
7.2.4 屬性節點 164
7.2.5 文本節點 165
7.3 使用HTML DOM訪問HTML文檔 166
7.3.1 獲取文檔元素 166
7.3.2 操作元素屬性及元素內容 167
7.3.3 獲取子節點 169
7.3.4 獲取父節點和兄弟節點 171
7.3.5 獲取元素的偏移位置 172
7.3.6 獲取元素的位置 174
7.3.7 獲取元素的寬、高 175
7.4 使用DOM創建、插入、修改和刪除節點 176
7.5 使用HTML DOM克隆節點 178
7.6 使用HTML DOM操作表單 179
7.6.1 表單對象 179
7.6.2 表單元素對象 180
7.7 使用HTML DOM操作表格 184
練習題 188
第8章 BOM對象 189
8.1 BOM結構 189
8.2 window對象 189
8.3 navigator對象 195
8.4 location對象 197
8.5 history對象 198
8.6 screen對象 199
練習題 200
第9章 事件處理 200
9.1 事件處理概述 200
9.2 事件處理程式的綁定 201
9.2.1 使用HTML標籤的事件屬性綁定處理程式 202
9.2.2 使用事件源的事件屬性綁定處理程式 203
9.2.3 使用addEventListener( )綁定處理程式 204
9.3 事件對象 205
9.4 事件流 206
9.4.1 事件冒泡 206
9.4.2 事件捕獲 211
9.4.3 W3C標準事件流 213
9.5 綁定事件的取消 214
9.6 事件默認行為的取消 215
9.7 使用oncontextmenu事件自定義上下文選單 217
9.8 焦點事件 218
9.9 鍵盤事件 220
9.10 滑鼠拖拽事件 223
9.10.1 滑鼠拖拽原理 223
9.10.2 滑鼠拖拽問題及其解決方法 224
9.10.3 滑鼠拖拽事件套用 227
9.11 滑鼠滾輪事件 232
練習題 233
第 10章 使用正則表達式進行模式匹配 234
10.1 模式匹配的引出:找出字元串中的所有數字 234
10.2 正則表達式的定義 235
10.2.1 正則表達式的定義方式 235
10.2.2 正則表達式中的轉義字元 236
10.2.3 正則表達式中的字元類 238
10.2.4 正則表達式中的量詞 239
10.2.6 正則表達式中的首尾匹配、排除符和選擇符 240
10.2.7 正則表達式中的分組 242
10.2.8 正則表達式中的修飾符 243
10.3 使用RegExp對象進行模式匹配 244
10.3.1 使用exec( )進行模式匹配 244
10.3.2 使用test( )進行模式匹配 245
10.4 使用string對象的模式匹配方法進行匹配 248
10.4.1 使用match( )進行模式匹配 248
10.4.2 使用replace( )進行模式匹配 249
10.4.3 使用search( )進行模式匹配 251
10.4.4 使用字元串的模式匹配方法實現數據有效性校驗 252
練習題 253
第 11章 JavaScript面向對象及組件開發 254
11.1 JavaScript面向對象編程概述 254
11.2 JavaScript對象的創建 255
11.3 對象屬性和方法的訪問方式 269
11.4 原型鏈 270
11.5 使用面向對象方式編寫選項卡 273
11.6 包裝對象 278
11.7 toString( )和valueOf( ) 279
11.8 JavaScript對象的繼承 281
11.8.1 通過原型鏈繼承對象 281
11.8.2 通過借用構造函式實現繼承 284
11.8.3 組合繼承 286
11.8.4 拷貝繼承 287
11.8.5 原型繼承 289
11.8.6 寄生式繼承 290
11.8.7 寄生組合式繼承 292
11.8.8 類繼承 293
11.8.9 對象繼承在拖拽事件中的套用 298
11.9 JavaScript組件開發 301
11.9.1 組件開發概述 301
11.9.2 拖拽組件的創建及套用 302
11.9.3 彈窗組件的創建及套用 304
11.9.4 自定義事件 312
練習題 316
第 12章 Ajax編程 317
12.1 XMLHttpRequest對象 317
12.1.1 創建XMLHttpRequest對象實例 318
12.1.2 傳送GET和POST請求 319
12.1.3 獲取服務端返回的數據 324
12.2 使用 Ajax實現瀑布流布局 328
12.2.1 使用浮動布局瀑布流 328
12.2.2 使用定位布局瀑布流 333
12.3 使用Ajax開發留言本 336
12.3.1 留言本涉及的資料庫表 336
12.3.2 留言本的HTML和CSS代碼及初始狀態 336
12.3.3 留言本的用戶註冊 340
12.3.4 登入留言本 343
12.3.4 退出留言本 345
12.3.5 發表留言 346
12.3.6 列表顯示留言 349
12.3.7 使用Ajax實現類瀑布流布局效果的留言本 352
12.3.8 留言本的“頂”和“踩” 353
12.3 使用JSONP解決Ajax跨域問題 355
12.3.1 JSONP簡介 355
12.3.2 使用JSONP實現百度下拉提示 358
練習題 361
第 13章 Javascript項目實戰 - 雲盤 361
13.1 項目結構 362
13.1.1 自適應螢幕的頁面框架 362
13.1.2 頁面頭部布局 366
13.1.3 側邊欄布局 367
13.1.4 路徑導航布局 369
13.1.5 資料夾區域布局 371
13.1.6 彈窗及右鍵選單 373
13.2 數據結構 377
13.2.1 查找自己 378
13.2.2 查找子級 379
13.2.3 查找父級 379
13.2.4 查找所有父級 379
13.3 視圖渲染 379
13.3.1 側邊欄選單渲染 379
13.3.2 路徑導航渲染 381
13.4 三大區域視圖切換 381
13.4.1 左側選單點擊事件添加 382
13.4.2 路徑導航點擊事件添加 382
13.4.3 資料夾點擊事件添加 383
13.5 新建資料夾 383
13.5.1 添加一條新數據 383
13.5.2 資料夾命名處理 383
13.5.3 提示信息彈窗 384
13.5.4 完成新建資料夾功能 385
13.6 資料夾的右鍵選單 385
13.6.1 右鍵選單位置處理 385
13.6.2 刪除當前資料夾 386
13.6.3 資料夾移動到 387
13.6.4 資料夾重命名 389
13.7 資料夾的選中及批量操作 392
13.7.1 點擊全選框勾選全部 392
13.7.2 檔案的選中操作 393
13.7.2 框選操作 393
13.7.3 批量操作資料夾 395
作者簡介
劉偉,妙味課堂 miaov.com 創始人,擁有8年工程師生涯,10年教育行業創業經歷; 《前端HTML CSS修煉之道》作者之一,出品視頻資料影響超過 500萬以上學員,網上零負評;現任開課吧合伙人、大課教研教學 VP。