第1章 JavaScript快速入门 1
1.1初识JavaScript 2
1.1.1什么是JavaScript 2
1.1.2 JavaScript的由来 3
1.1.3 JavaScript的特点 4
1.1.4 JavaScript与ECMAScript的关系 4
1.2开发工具 5
1.2.1浏览器 5
1.2.2代码编辑器 6
1.2.3【案例】第一个JavaScript程序 7
1.3 JavaScript入门 9
1.3.1 JavaScript引入方式 9
1.3.2常用输出语句 11
1.3.3注释 12
1.3.4数据与运算 12
1.3.5函数 14
1.3.6对象 15
1.3.7事件 17
1.3.8【案例】改变网页背景色 18
动手实践:验证用户输入的密码 19
本章小结 20
课后练习 20
第2章 基本语法 21
2.1变量 22
2.1.1标识符 22
2.1.2关键字与保留字 22
2.1.3变量的使用 23
2.1.4变量的赋值 23
2.2数据类型 24
2.2.1数据类型分类 24
2.2.2基本数据类型 24
2.2.3数据类型检测 26
2.2.4数据类型转换 27
2.3表达式 29
2.4运算符 29
2.4.1算术运算符 29
2.4.2字符串运算符 30
2.4.3赋值运算符 30
2.4.4.比较运算符 31
2.4.5逻辑运算符 32
2.4.6 三元运算符 32
2.4.7位运算符 33
2.4.8运算符优先级 35
2.4.9【案例】计算圆的周长和面积 35
2.5流程控制 36
2.5.1选择结构 36
2.5.2循环结构 39
2.5.3跳转语句 42
2.5.4【案例】打印金字塔 43
动手实践:九九乘法表 45
本章小结 46
课后练习 46
第3章 数组 48
3.1初识数组 49
3.2创建数组 49
3.3数组的基本操作 50
3.3.1获取数组长度 50
3.3.2数组的访问与遍历 51
3.3.3元素的添加与修改 52
3.3.4元素的删除 53
3.3.5【案例】查找最大值与最小值 54
3.4常见二维数组操作 55
3.4.1创建与遍历 55
3.4.2【案例】二维数组转置 56
3.5数组排序 57
3.5.1冒泡排序 57
3.5.2插入排序 58
3.6常见数组方法 60
3.6.1栈方法 60
3.6.2检索方法 61
3.6.3数组转字符串 63
3.6.4其他方法 63
3.6.5 【案例】猴子选大王 65
动手实践:省份城市的三级联动 66
本章小结 69
课后练习 70
第4章 函数 71
4.1函数的定义与调用 72
4.1.1初识函数 72
4.1.2参数设置 73
4.1.3函数的调用 74
4.1.4【案例】字符串大小写转换 75
4.2变量的作用域 76
4.3匿名函数 78
4.3.1函数表达式 78
4.3.2匿名函数 78
4.3.3回调函数 79
4.4嵌套与递归 81
4.4.1函数嵌套与作用域链 81
4.4.2递归调用 82
4.4.3【案例】求斐波那契数列第N项的值 83
4.5闭包函数 83
4.5.1什么是闭包函数 83
4.5.2闭包函数的实现 84
动手实践:网页计算器 85
本章小结 86
课后练习 86
第5章 对象 88
5.1面向对象概述 89
5.1.1面向过程与面向对象 89
5.1.2面向对象的特征 89
5.2自定义对象 91
5.2.1对象的定义 91
5.2.2访问对象成员 92
5.2.3对象成员遍历 92
5.2.4深拷贝与浅拷贝 93
5.3构造函数 94
5.3.1为什么使用构造函数 94
5.3.2 JavaScript内置的构造函数 95
5.3.3自定义构造函数 95
5.3.4私有成员 96
5.3.5函数中的this指向 97
5.4内置对象 98
5.4.1 String对象 98
5.4.2 Number对象 100
5.4.3 Math对象 100
5.4.4 Date对象 101
5.4.5【案例】制作年历 102
5.5错误处理与代码调试 105
5.5.1错误处理 105
5.5.2错误对象 106
5.5.3错误类型 107
5.5.4代码调试 107
5.6原型与继承 109
5.6.1原型 109
5.6.2继承 110
5.6.3静态成员 113
5.6.4属性搜索原则 113
5.6.5原型链 114
动手实践:表单生成器 118
本章小结 123
课后练习 123
第6章 BOM 125
6.1什么是BOM对象 126
6.2 window对象 126
6.2.1全局作用域 126
6.2.2弹出对话框和窗口 127
6.2.3窗口位置和大小 130
6.2.4框架操作 132
6.2.5定时器 132
6.2.6【案例】限时秒杀 134
6.3 location对象 136
6.3.1更改URL 136
6.3.2获取URL参数 137
6.3.3【案例】定时跳转 138
6.4 history对象 139
6.4.1历史记录跳转 139
6.4.2无刷新更改URL地址 140
6.5 navigator对象 141
6.6 screen对象 142
动手实践:红绿灯倒计时 143
本章小结 145
课后练习 145
第7章 DOM 147
7.1 D O M对象简介 148
7.1.1什么是DOM 148
7.1.2 DOM HTML节点树 148
7.1.3 DOM对象的继承关系 149
7.2HTML元素操作 150
7.2.1获取操作的元素 150
7.2.2元素内容 154
7.2.3【案例】改变盒子大小 155
7.2.4元素属性 156
7.2.5元素样式 158
7.2.6【案例】标签栏切换效果 161
7.3文档节点操作 162
7.3.1获取节点 162
7.3.2节点追加 164
7.3.3节点删除 165
7.3.4【案例】列表的增删和移动 166
动手实践:购物车 171
本章小结 176
课后练习 176
第8章 事件 178
8.1事件处理 179
8.1.1事件概述 179
8.1.2事件的绑定方式 180
8.2事件对象 182
8.2.1获取事件对象 182
8.2.2常用属性和方法 183
8.2.3【案例】缓动的小球 186
8.3事件分类 188
8.3.1页面事件 188
8.3.2焦点事件 189
8.3.3鼠标事件 191
8.3.4【案例】鼠标拖曳特效 193
8.3.5键盘事件 195
8.3.6表单事件 197
动手实践:图片放大特效 198
本章小结 202
课后练习 202
第9章 正则表达式 204
9.1认识正则表达式 205
9.1.1什么是正则表达式 205
9.1.2如何使用正则 205
9.1.3获取正则对象 206
9.2字符类别与集合 207
9.2.1字符类别 207
9.2.2字符集合 208
9.2.3【案例】限定输入内容 208
9.3字符限定与分组 211
9.3.1字符限定 211
9.3.2括号字符 212
9.3.3正则运算符优先级 214
9.3.4【案例】内容查找与替换 214
9.4与正则相关的方法 215
9.4.1 RegExp类中的方法 216
9.4.2 String类中的方法 217
动手实践:表单验证 217
本章小结 222
课后练习 223
第10章 Ajax 224
10.1 Web基础知识 225
10.1.1 Web服务器 225
10.1.2 HTTP 225
10.2 Web服务器搭建 228
10.2.1 PHP开发环境 229
10.2.2前后端交互 230
10.3 Ajax入门 232
10.3.1什么是Ajax 232
10.3.2创建Ajax对象 233
10.3.3 Ajax向服务器发送请求 233
10.3.4处理服务器返回的信息 236
10.4数据交换格式 238
10.4.1 XML数据格式 239
10.4.2 JSON数据格式 240
10.4.3【案例】无刷新分页 242
10.5跨域请求 250
10.5.1 Ajax跨域问题 250
10.5.2 JSONP实现跨域请求 251
10.6扩展技术 254
10.6.1 Cookie 254
10.6.2 FormData 255
10.6.3 Promise 256
10.6.4 WebSocket 260
动手实践:进度条文件上传 262
本章小结 265
课后练习 266
第11章 jQuery 267
11.1 jQuery快速入门 268
11.1.1什么是J Query 268
11.1.2下载jQuery 268
11.1.3使用jQuery 270
11.2元素操作 271
11.2.1 jQuery对象 271
11.2.2 jQuery选择器 271
11.2.3元素遍历 278
11.2.4元素内容 279
11.2.5元素样式 280
11.2.6元素筛选 281
11.2.7元素属性 283
11.2.8【案例】折叠菜单 283
11.3文档节点操作 285
11.3.1节点追加 285
11.3.2节点替换 286
11.3.3节点删除 286
11.3.4节点复制 287
11.3.5【案例】左移与右移 287
11.4事件操作 289
11.4.1常用事件 289
11.4.2页面加载事件 292
11.4.3事件绑定与切换 292
11.4.4【案例】手风琴效果 294
11.5动画特效 295
11.5.1常用动画 295
11.5.2自定义动画 297
11.5.3 【案例】无缝轮播图 299
11.6 jQuery操作Ajax 302
11.7插件机制 307
11.7.1自定义插件 307
11.7.2 jQuery插件库 308
11.7.3 jQuery UI 309
11.7.4【案例】自定义全选与反选插件 311
本章小结 314
课后练习 314
第12章 网页版2048小游戏 315
12.1游戏功能展示 316
12.2实现步骤分析 317
12.3游戏功能实现 317
12.3.1设计游戏界面 317
12.3.2控制游戏数值 319
12.3.3实现单元格移动 323
12.3.4设置游戏分数 326
12.3.5判断胜利和失败 327
12.3.6重新开始游戏 330
本章小结 330
课后练习 331