本書(shū)由淺入深、循序漸進(jìn)地介紹了JavaScript語(yǔ)言和程序設(shè)計(jì)的基本概念,結(jié)合案例深入講解了JavaScript語(yǔ)言特性,強(qiáng)調(diào)了實(shí)現(xiàn)程序的算法和程序設(shè)計(jì)思想。全書(shū)共10章,第1章介紹JavaScript語(yǔ)言的入門(mén)知識(shí);第2~5章介紹JavaScript的基本語(yǔ)法、算法及構(gòu)成程序的順序、分支、循環(huán)結(jié)構(gòu);第6章對(duì)函數(shù)進(jìn)行深入探討;第7章介紹面向?qū)ο蟮某绦蛟O(shè)計(jì)思想和方法;第8章和第9章介紹JavaScript語(yǔ)言中的兩個(gè)核心對(duì)象——字符串和數(shù)組;第10章簡(jiǎn)要介紹異常的概念和程序調(diào)試的方法。 本書(shū)構(gòu)思新穎、思路清晰、講述詳盡、案例豐富、通俗易懂,是Web開(kāi)發(fā)愛(ài)好者學(xué)習(xí)程序設(shè)計(jì)最基礎(chǔ)又較全面的教材。本書(shū)既可以作為職業(yè)院校計(jì)算機(jī)專業(yè)的教學(xué)用書(shū),也適合程序愛(ài)好者自學(xué)。
龔愛(ài)民,男,上海市工程技術(shù)管理學(xué)校,高級(jí)工程師。曾獲得《基于Sakai二次開(kāi)發(fā)的互動(dòng)教學(xué)平臺(tái)構(gòu)建研究》獲崇明區(qū)教科研 一等獎(jiǎng)。主要著作方向是數(shù)據(jù)分析、軟件及web研發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、程序設(shè)計(jì)語(yǔ)言(c、c++、c#、java、php、js)、數(shù)據(jù)庫(kù)。
1 JavaScript快速入門(mén) 1
1.1 程序設(shè)計(jì)基本概念 1
1.1.1 計(jì)算機(jī)程序 1
1.1.2 程序語(yǔ)言 2
1.1.3 什么是JavaScript語(yǔ)言 3
1.1.4 學(xué)習(xí)程序設(shè)計(jì)的方法 4
1.2 Hello world 4
1.3 基礎(chǔ)語(yǔ)法 6
1.3.1 直接量 6
1.3.2 運(yùn)算符 6
1.3.3 輸出 7
1.3.4 換行、空格與分號(hào) 7
1.3.5 注釋 8
1.3.6 輸入 9
2 變量與數(shù)據(jù)類型 10
2.1 變量 10
2.1.1 變量的定義 10
2.1.2 賦值和初始化 11
2.1.3 訪問(wèn)變量 13
2.2 常量 14
2.3 標(biāo)識(shí)符與關(guān)鍵字 14
2.3.1 標(biāo)識(shí)符 14
2.3.2 關(guān)鍵字 15
2.3.3 正確命名標(biāo)識(shí)符 15
2.4 數(shù)據(jù)類型 16
2.4.1 數(shù)值類型 17
2.4.2 布爾類型 18
2.4.3 字符串類型 18
2.4.4 undefined與null 20
2.5 類型轉(zhuǎn)換 21
2.5.1 自動(dòng)類型轉(zhuǎn)換 21
2.5.2 顯式類型轉(zhuǎn)換 22
3 順序結(jié)構(gòu)程序設(shè)計(jì) 25
3.1 算法基礎(chǔ) 25
3.1.1 算法的概念 26
3.1.2 算法的描述 26
3.1.3 算法舉例 28
3.2 表達(dá)式和語(yǔ)句 29
3.2.1 表達(dá)式 29
3.2.2 語(yǔ)句 30
3.2.3 復(fù)合語(yǔ)句 30
3.3 順序結(jié)構(gòu) 30
3.4 賦值運(yùn)算 32
3.5 算術(shù)運(yùn)算 32
3.5.1 自增和自減 33
3.5.2 算術(shù)運(yùn)算的優(yōu)先級(jí) 34
3.5.3 算術(shù)運(yùn)算的結(jié)合性 35
3.6 字符串運(yùn)算 36
3.7 順序結(jié)構(gòu)程序舉例 38
3.7.1 計(jì)算圓的周長(zhǎng)和面積 38
3.7.2 交換變量的值 38
4 分支結(jié)構(gòu)程序設(shè)計(jì) 40
4.1 條件判斷 40
4.2 關(guān)系運(yùn)算與邏輯運(yùn)算 41
4.2.1 關(guān)系運(yùn)算 41
4.2.2 邏輯運(yùn)算 43
4.2.3 關(guān)系運(yùn)算與邏輯運(yùn)算的優(yōu)先級(jí) 46
4.3 if語(yǔ)句 49
4.3.1 基本的if語(yǔ)句 49
4.3.2 if/else語(yǔ)句 52
4.3.3 if /else if/else語(yǔ)句 54
4.4 條件運(yùn)算 57
4.5 switch語(yǔ)句 58
4.6 分支結(jié)構(gòu)程序舉例 60
4.6.1 閏年的判斷 60
4.6.2 最大值問(wèn)題 63
5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 66
5.1 循環(huán)的概念 66
5.2 for語(yǔ)句 67
5.3 while語(yǔ)句 72
5.4 do/while語(yǔ)句 74
5.5 嵌套循環(huán) 75
5.6 不同循環(huán)語(yǔ)句的比較 77
5.7 跳轉(zhuǎn) 77
5.7.1 break語(yǔ)句 77
5.7.2 continue語(yǔ)句 79
5.7.3 break語(yǔ)句和continue語(yǔ)句的區(qū)別 80
5.8 循環(huán)結(jié)構(gòu)程序舉例 81
5.8.1 生成數(shù)列 81
5.8.2 字符串處理 82
6 函數(shù) 86
6.1 函數(shù)定義 86
6.1.1 無(wú)參數(shù)函數(shù)的定義 88
6.1.2 函數(shù)的參數(shù) 89
6.1.3 帶參數(shù)函數(shù)的定義 89
6.1.4 參數(shù)默認(rèn)值 91
6.1.5 表達(dá)式定義 92
6.1.6 空函數(shù) 93
6.2 函數(shù)返回值 93
6.2.1 返回undefined 93
6.2.2 指定返回值 94
6.3 函數(shù)調(diào)用 95
6.3.1 直接調(diào)用 96
6.3.2 函數(shù)表達(dá)式 96
6.3.3 函數(shù)調(diào)用作為參數(shù) 97
6.3.4 函數(shù)的嵌套調(diào)用 97
6.3.5 自動(dòng)調(diào)用函數(shù) 100
6.4 變量作用域 100
6.4.1 局部變量 100
6.4.2 全局變量 101
6.4.3 生命周期 102
6.5 函數(shù)舉例 102
6.5.1 素?cái)?shù) 102
6.5.2 閏年判斷 103
7 類和對(duì)象 105
7.1 面向?qū)ο蟮母拍?105
7.1.1 面向?qū)ο蟮某绦蛘Z(yǔ)言 106
7.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 106
7.2 對(duì)象和對(duì)象直接量 106
7.2.1 對(duì)象的概念 106
7.2.2 對(duì)象直接量 107
7.3 創(chuàng)建和使用類 108
7.3.1 類和實(shí)例 108
7.3.2 定義類 109
7.3.3 訪問(wèn)對(duì)象的屬性 114
7.3.4 修改對(duì)象的屬性 115
7.3.5 調(diào)用對(duì)象的方法 115
7.3.6 typeof與instanceof 117
7.3.7 for/in語(yǔ)句訪問(wèn)對(duì)象屬性 119
7.4 封裝 119
7.4.1 私有屬性 120
7.4.2 操作私有屬性 120
7.4.3 靜態(tài)方法 122
7.5 繼承 123
7.6 面向?qū)ο笈e例 124
7.6.1 設(shè)計(jì)學(xué)生類 125
7.6.2 貪吃蛇 127
8 數(shù)組 134
8.1 一維數(shù)組 134
8.1.1 一維數(shù)組的定義 135
8.1.2 數(shù)組長(zhǎng)度 135
8.1.3 訪問(wèn)數(shù)組元素 136
8.1.4 遍歷一維數(shù)組 137
8.2 二維數(shù)組 141
8.2.1 二維數(shù)組的定義 141
8.2.2 訪問(wèn)數(shù)組元素 142
8.2.3 遍歷二維數(shù)組 143
8.3 Array對(duì)象常用方法 144
8.3.1 concat() 145
8.3.2 push()與pop() 146
8.3.3 shift()與unshift() 147
8.3.4 slice() 148
8.3.5 splice() 148
8.3.6 reverse() 150
8.3.7 sort() 150
8.3.8 toString()與toLocaleString() 152
8.3.9 join()與split() 153
8.4 數(shù)組應(yīng)用舉例 154
8.4.1 學(xué)生成績(jī)統(tǒng)計(jì) 154
8.4.2 冒泡排序 156
8.4.3 貪吃蛇的移動(dòng) 159
8.4.4 繪制迷宮地圖 168
9 JavaScript常用對(duì)象 170
9.1 String對(duì)象 170
9.1.1 創(chuàng)建String對(duì)象 170
9.1.2 String對(duì)象的屬性 171
9.1.3 String對(duì)象的常用方法 172
9.2 Date對(duì)象 182
9.2.1 Date對(duì)象的概念 182
9.2.2 Date對(duì)象的常用方法 184
9.3 Math對(duì)象 185
9.3.1 Math對(duì)象的概念 185
9.3.2 Math對(duì)象的常用屬性和方法 185
9.4 常用內(nèi)置對(duì)象舉例 187
9.4.1 時(shí)鐘 187
9.4.2 加密字符串 189
10 異常和調(diào)試 191
10.1 異常的概念 191
10.2 Error對(duì)象 192
10.3 異常處理 192
10.3.1 throw語(yǔ)句拋出異常 193
10.3.2 try/catch/finally捕捉異常 193
10.4 利用Chrome調(diào)試工具調(diào)試 196
10.4.1 “source”面板 196
10.4.2 console 197
10.4.3 Breakpoint 198
10.4.4 debugger命令 200