第一部分 语法基础 3
第1章 JavaScript简介 3
1.1 JavaScript是什么 3
1.1.1 JavaScript简介 3
1.1.2 教程介绍 4
1.2 JavaScript开发工具 5
1.3 JavaScript引入方式 7
1.3.1 外部JavaScript 7
1.3.2 内部JavaScript 8
1.3.3 元素属性JavaScript 10
1.4 一个简单的JavaScript程序 11
1.5 本章练习 13
第2章 语法基础 14
2.1 语法简介 14
2.2 变量与常量 15
2.2.1 变量 15
2.2.2 常量 20
2.3 数据类型 20
2.3.1 数字 21
2.3.2 字符串 21
2.3.3 布尔值 24
2.3.4 未定义值 25
2.3.5 空值 26
2.4 运算符 26
2.4.1 算术运算符 27
2.4.2 赋值运算符 31
2.4.3 比较运算符 33
2.4.4 逻辑运算符 34
2.4.5 条件运算符 37
2.5 表达式与语句 38
2.6 类型转换 39
2.6.1 “字符串”转换为“数字” 39
2.6.2 “数字”转换为“字符串” 43
2.7 转义字符 45
2.8 注释 47
2.8.1 单行注释 47
2.8.2 多行注释 48
2.9 本章练习 49
第3章 流程控制 51
3.1 流程控制简介 51
3.1.1 顺序结构 51
3.1.2 选择结构 52
3.1.3 循环结构 53
3.2 选择结构:if 53
3.2.1 单向选择:if 54
3.2.2 双向选择:if...else 55
3.2.3 多向选择:if...else if...else 57
3.2.4 if语句的嵌套 58
3.3 选择结构:switch 61
3.4 循环结构:while 65
3.5 循环结构:do...while 69
3.6 循环结构:for 70
3.7 实战题:判断一个数是整数,还是小数 73
3.8 实战题:找出“水仙花数” 74
3.9 本章练习 75
第4章 初识函数 77
4.1 函数是什么 77
4.2 函数的定义 79
4.2.1 没有返回值的函数 79
4.2.2 有返回值的函数 82
4.2.3 全局变量与局部变量 83
4.3 函数的调用 85
4.3.1 直接调用 86
4.3.2 在表达式中调用 87
4.3.3 在超链接中调用 88
4.3.4 在事件中调用 89
4.4 嵌套函数 90
4.5 内置函数 91
4.6 实战题:判断某一年是否是闰年 92
4.7 实战题:求出任意5个数的最大值 93
4.8 本章练习 94
第5章 字符串对象 96
5.1 内置对象简介 96
5.2 获取字符串长度 96
5.3 大小写转换 98
5.4 获取某一个字符 99
5.5 截取字符串 101
5.6 替换字符串 103
5.7 分割字符串 105
5.8 检索字符串的位置 109
5.9 实战题:统计某一个字符的个数 111
5.10 实战题:统计字符串中有多少个数字 112
5.11 本章练习 113
第6章 数组对象 114
6.1 数组是什么 114
6.2 数组的创建 115
6.3 数组的获取 115
6.4 数组的赋值 116
6.5 获取数组长度 118
6.6 截取数组某部分 121
6.7 添加数组元素 123
6.7.1 在数组开头添加元素:unshift() 123
6.7.2 在数组结尾添加元素:push() 124
6.8 删除数组元素 126
6.8.1 删除数组中第一个元素:shift() 126
6.8.2 删除数组最后一个元素:pop() 127
6.9 比较数组大小 129
6.10 颠倒数组顺序 130
6.11 将数组元素连接成字符串 131
6.12 实战题:数组与字符串的转换操作 133
6.13 实战题:计算面积与体积,返回一个数组 134
6.14 本章练习 135
第7章 时间对象 137
7.1 时间对象简介 137
7.2 操作年、月、日 139
7.2.1 获取年、月、日 139
7.2.2 设置年、月、日 141
7.3 操作时、分、秒 143
7.3.1 获取时、分、秒 143
7.3.2 设置时、分、秒 144
7.4 获取星期几 145
7.5 本章练习 147
第8章 数学对象 148
8.1 数学对象简介 148
8.2 Math对象的属性 148
8.3 Math对象的方法 150
8.4 最大值与最小值 150
8.5 取整运算 151
8.5.1 向下取整:floor() 151
8.5.2 向上取整:ceil() 153
8.6 三角函数 154
8.7 生成随机数 155
8.7.1 随机生成某个范围内的“任意数” 156
8.7.2 随机生成某个范围内的“整数” 156
8.8 实战题:生成随机验证码 157
8.9 实战题:生成随机颜色值 158
8.10 本章练习 159
第二部分 核心技术 163
第9章 DOM基础 163
9.1 核心技术简介 163
9.2 DOM是什么 163
9.2.1 DOM对象 163
9.2.2 DOM结构 164
9.3 节点类型 165
9.4 获取元素 166
9.4.1 getElementByld() 166
9.4.2 getElementsByTagName() 168
9.4.3 getElementsByClassName() 173
9.4.4 querySelector()和querySelectorAll() 174
9.4.5 getElementsByName() 177
9.4.6 document.title和document.body 179
9.5 创建元素 179
9.6 插入元素 185
9.6.1 appendChild() 185
9.6.2 insertBefore() 187
9.7 删除元素 189
9.8 复制元素 191
9.9 替换元素 193
9.10 本章练习 194
第10章 DOM进阶 196
10.1 HTML属性操作(对象属性) 196
10.1.1 获取HTML属性值 196
10.1.2 设置HTML属性值 203
10.2 HTML属性操作(对象方法) 205
10.2.1 getAttribute() 205
10.2.2 setAttribute() 208
10.2.3 removeAttribute() 209
10.2.4 hasAttribute() 211
10.3 CSS属性操作 213
10.3.1 获取CSS属性值 213
10.3.2 设置CSS属性值 214
10.3.3 最后一个问题 221
10.4 DOM遍历 224
10.4.1 查找父元素 224
10.4.2 查找子元素 226
10.4.3 查找兄弟元素 230
10.5 innerHTML和innerText 232
10.6 本章练习 235
第11章 事件基础 237
11.1 事件是什么 237
11.2 事件调用方式 238
11.2.1 在script标签中调用 238
11.2.2 在元素中调用事件 239
11.3 鼠标事件 241
11.3.1 鼠标单击 241
11.3.2 鼠标移入和鼠标移出 243
11.3.3 鼠标按下和鼠标松开 245
11.4 键盘事件 246
11.5 表单事件 248
11.5.1 onfocus和onblur 248
11.5.2 onselect 251
11.5.3 onchange 253
11.6 编辑事件 256
11.6.1 oncopy 256
11.6.2 onselectstart 257
11.6.3 oncontextmenu 258
11.7 页面事件 259
11.7.1 onload 259
11.7.2 onbeforeunload 262
11.8 本章练习 263
第12章 事件进阶 264
12.1 事件监听器 264
12.1.1 事件处理器 264
12.1.2 事件监听器 265
12.2 event对象 273
12.2.1 type 274
12.2.2 keyCode 275
12.3 this 277
12.4 本章练习 281
第13章 window对象 282
13.1 window对象简介 282
13.2 窗口操作 283
13.2.1 打开窗口 284
13.2.2 关闭窗口 289
13.3 对话框 291
13.3.1 alert() 291
13.3.2 confirm() 292
13.3.3 prompt() 293
13.4 定时器 295
13.4.1 setTimeout()和clearTimeout() 296
13.4.2 setInterval()和clearInterval() 300
13.5 location对象 304
13.5.1 window.location.href 305
13.5.2 window.location.search 306
13.5.3 window.location.hash 307
13.6 navigator对象 308
13.7 本章练习 311
第14章 document对象 312
14.1 document对象简介 312
14.2 document对象属性 312
14.2.1 document.URL 313
14.2.2 document.referrer 314
14.3 document对象方法 314
14.3.1 document.write() 315
14.3.2 document.writeIn() 316
14.4 本章练习 319
附录A 字符串的方法 320
附录B 数组的方法 321
附录C 时间对象的方法 322
附录D 数学对象的方法 323
附录E 常用的随机数 324