第1篇 JavaScript基础入门 3
第1章 必须了解的JavaScript知识 3
1.1认识JavaScript 4
1.1.1什么是JavaScript 4
1.1.2JavaScript的特点 4
1.1.3JavaScript与Java的区别 5
1.1.4JavaScript版本 6
1.2JavaScript的编写工具 7
1.2.1记事本 7
1.2.2UltraEdit-32 8
1.2.3Dreamweaver CC 9
1.3JavaScript在HTML5中的使用 10
1.3.1在HTML5网页头中嵌入JavaScript代码 10
1.3.2在HTML5网页中嵌入JavaScript代码 11
1.3.3在HTML5网页的元素事件中嵌入JavaScript代码 12
1.3.4在HTML5中调用已有的JavaScript文件 13
1.3.5通过JavaScript伪URL引入JavaScript脚本代码 14
1.4JavaScript和浏览器 15
1.4.1在Intemet Explorer中调用JavaScript代码 15
1.4.2在Firefox中调用JavaScript代码 16
1.4.3在Opera中调用JavaScript代码 16
1.4.4浏览器中的文档对象类型(DOM) 16
1.5实战演练——一个简单的JavaScript示例 17
1.6疑难解惑 18
第2章 JavaScript编程基础 19
2.1JavaScript的基本语法 20
2.1.1执行顺序 20
2.1.2区分大小写 20
2.1.3分号与空格 20
2.1.4对代码进行换行 21
2.1.5注释 21
2.1.6语句 23
2.1.7语句块 24
2.2JavaScript的数据结构 25
2.2.1标识符 25
2.2.2关键字 26
2.2.3保留字 26
2.2.4常量 27
2.2.5变量 27
2.3看透代码中的数据类型 29
2.3.1typeof运算符 29
2.3.2Undefined类型 31
2.3.3Null类型 31
2.3.4Boolean类型 32
2.3.5Number类型 32
2.3.6String类型 33
2.3.7Object类型 34
2.4明白数据间的计算法则——运算符 34
2.4.1算术运算符 34
2.4.2比较运算符 35
2.4.3位运算符 36
2.4.4逻辑运算符 38
2.4.5条件运算符 39
2.4.6赋值运算符 40
2.4.7运算符的优先级 42
2.5JavaScript的表达式 43
2.5.1赋值表达式 43
2.5.2算术表达式 44
2.5.3布尔表达式 44
2.5.4字符串表达式 46
2.5.5类型转换 47
2.6实战演练——局部变量和全局变量的优先级 48
2.7疑难解惑 49
第3章 程序控制结构和语句 51
3.1基本处理流程 52
3.2赋值语句 53
3.3条件判断语句 53
3.3.1if语句 53
3.3.2if-else语句 54
3.3.3if-else-if语句 55
3.3.4if语句的嵌套 56
3.3.5switch语句 57
3.4循环控制语句 59
3.4.1while语句 59
3.4.2do-while语句 60
3.4.3for循环 61
3.5跳转语句 62
3.5.1break语句 62
3.5.2continue语句 63
3.6使用对话框 64
3.7实战演练——显示距离2018年元旦的天数 66
3.8疑难解惑 68
第2篇 JavaScript核心技术 71
第4章 JavaScript中的函数 71
4.1函数的简介 72
4.2调用函数 72
4.2.1函数的简单调用 72
4.2.2在表达式中调用 73
4.2.3在事件响应中调用函数 74
4.2.4通过链接调用函数 75
4.3JavaScript中常用的函数 76
4.3.1嵌套函数 76
4.3.2递归函数 77
4.3.3内置函数 78
4.4实战演练1——购物简易计算器 86
4.5实战演练2——制作闪烁图片 89
4.6疑难解惑 90
第5章 对象与数组 91
5.1了解对象 92
5.1.1什么是对象 92
5.1.2面向对象编程 93
5.1.3JavaScript的内部对象 94
5.2对象访问语句 95
5.2.1for-in循环语句 95
5.2.2with语句 96
5.3JavaScript中的数组 97
5.3.1结构化数据 97
5.3.2创建和访问数组对象 97
5.3.3使用for-in语句 100
5.3.4Array对象的常用属性和方法 100
5.4详解常用的数组对象方法 109
5.4.1连接其他数组到当前数组 109
5.4.2将数组元素连接为字符串 110
5.4.3移除数组中的最后一个元素 110
5.4.4将指定的数值添加到数组中 111
5.4.5反序排列数组中的元素 112
5.4.6删除数组中的第一个元素 112
5.4.7获取数组中的一部分数据 113
5.4.8对数组中的元素进行排序 114
5.4.9将数组转换成字符串 115
5.4.10将数组转换成本地字符串 116
5.4.11在数组开头插入数据 116
5.5创建和使用自定义对象 117
5.5.1通过定义对象的构造函数的方法 117
5.5.2通过对象直接初始化的方法 120
5.5.3修改和删除对象实例的属性 120
5.5.4通过原型为对象添加新属性和新方法 121
5.5.5自定义对象的嵌套 123
5.5.6内存的分配和释放 125
5.6实战演练——利用二维数组创建动态下拉菜单 126
5.7疑难解惑 128
第6章 日期与字符串对象 129
6.1日期对象 130
6.1.1创建日期对象 130
6.1.2Date对象的属性 131
6.1.3日期对象的常用方法 131
6.2详解日期对象的常用方法 134
6.2.1返回当前日期和时间 135
6.2.2以不同的格式显示当前日期 135
6.2.3返回日期所对应的是星期几 136
6.2.4显示当前时间 137
6.2.5返回距1970年1月1日午夜的时间差 138
6.2.6以不同的格式来显示UTC日期 139
6.2.7根据世界时返回日期对应的是星期几 140
6.2.8以不同的格式来显示UTC时间 141
6.2.9设置日期对象中的年份、月份和日期值 142
6.2.10设置日期对象中的小时、分钟和秒钟值 143
6.2.11以UTC日期对Date对象进行设置 144
6.2.12返回当地时间与UTC时间的差值 145
6.2.13将Date对象中的日期转化为字符串格式 146
6.2.14返回一个以UTC时间表示的日期字符串 147
6.2.15将日期对象转化为本地日期 147
6.2.16日期间的运算 148
6.3字符串对象 149
6.3.1创建字符串对象 149
6.3.2字符串对象的常用属性 150
6.3.3字符串对象的常用方法 151
6.4详解字符串对象的常用方法 152
6.4.1设置字符串字体属性 152
6.4.2以闪烁方式显示字符串 153
6.4.3转换字符串的大小写 154
6.4.4连接字符串 155
6.4.5比较两个字符串的大小 156
6.4.6分割字符串 156
6.4.7从字符串中提取字符串 157
6.5实战演练1——制作网页随机验证码 158
6.6实战演练2——制作动态时钟 159
6.7疑难解惑 161
第7章 数值与数学对象 163
7.1Number对象 164
7.1.1创建Number对象 164
7.1.2Number对象的属性 164
7.1.3Number对象的方法 168
7.2详解Number对象常用的方法 168
7.2.1把Number对象转换为字符串 168
7.2.2把Number对象转换为本地格式字符串 169
7.2.3四舍五入时指定小数位数 170
7.2.4返回以指数记数法表示的数值 170
7.2.5以指数记数法指定小数位 171
7.3Math对象 171
7.3.1创建Math对象 171
7.3.2Math对象的属性 172
7.3.3Math对象的方法 173
7.4详解Math对象常用的方法 174
7.4.1返回数的绝对值 174
7.4.2返回数的正弦值、余弦值和正切值 175
7.4.3返回数的反正弦值、反正切值和反余弦值 177
7.4.4返回两个或多个参数中的最大值或最小值 179
7.4.5计算指定数值的平方根 180
7.4.6数值的幂运算 180
7.4.7计算指定数值的对数 181
7.4.8取整运算 182
7.4.9生成0到1之间的随机数 183
7.4.10根据指定的坐标返回一个弧度值 183
7.4.11返回大于或等于指定参数的最小整数 184
7.4.12返回小于或等于指定参数的最大整数 185
7.4.13返回以e为基数的幂 185
7.5实战演练——使用Math…对象设计程序 186
7.6疑难解惑 187
第8章 文档对象模型与事件驱动 189
8.1文档对象模型 190
8.1.1认识文档对象模型 191
8.1.2文档对象的产生过程 192
8.2访问节点 193
8.2.1节点的基本概念 193
8.2.2节点的基本操作 194
8.3文档对象模型的属性和方法 206
8.4事件处理 207
8.4.1常见的事件驱动 208
8.4.2JavaScript的常用事件 210
8.4.3JavaScript处理事件的方式 212
8.4.4使用event对象 216
8.5实战演练1——通过事件控制文本框的背景颜色 217
8.6实战演练2——在DOM模型中获得对象 219
8.7实战演练3——超级链接的事件驱动 221
8.8疑难解惑 222
第9章 处理窗口和文档对象 225
9.1窗口(window)对象 226
9.1.1窗口(window)简介 226
9.1.2window对象的属性 228
9.1.3对话框 235
9.1.4窗口操作 241
9.2文档(document)对象 244
9.2.1文档的属性 244
9.2.2document对象的方法 252
9.2.3文档中的表单和图片 254
9.2.4文档中的超链接 256
9.3实战演练1——综合使用各种对话框 258
9.4实战演练2——设置弹出的窗口 259
9.5疑难解惑 261
第10章 JavaScript的调试和错误处理 263
10.1常见的错误和异常 264
10.2处理异常的方法 265
10.2.1用onerror事件处理异常 265
10.2.2用try-catch-finally语句处理异常 267
10.2.3使用throw语句抛出异常 268
10.3使用调试器 269
10.3.1IE浏览器内建的错误报告 269
10.3.2用Firefox错误控制台调试 270
10.4JavaScript语言调试技巧 270
10.4.1用alert()语句进行调试 271
10.4.2用write()语句进行调试 271
10.5疑难解惑 272
第11章 JavaScript和Ajax技术 273
11.1Ajax快速入门 274
11.1.1什么是Ajax 274
11.1.2Ajax的关键元素 277
11.1.3CSS在Ajax应用中的地位 277
11.2Ajax的核心技术 278
11.2.1全面剖析XMLHttpRequest对象 278
11.2.2发出Ajax请求 280
11.2.3处理服务器响应 282
11.3实战演练1——制作自由拖放的网页 283
11.4实战演练2——制作加载条 288
11.5疑难解惑 290
第3篇 jQuery高级应用 293
第12章 jQuery的基础知识 293
12.1jQuery概述 294
12.1.1jQuery能做什么 294
12.1.2jQuery的特点 294
12.1.3jQuery的技术优势 295
12.2下载并配置jQuery 297
12.2.1下载jQuery 298
12.2.2配置jQuery 299
12.3jQuery的开发工具 299
12.3.1JavaScript Editor Pro 299
12.3.2Dreamweaver 300
12.3.3UltraEdit 301
12.3.4记事本工具 301
12.4jQuery的调试小工具 302
12.4.1Firebug 302
12.4.2Blackbird 305
12.4.3jQueryPad 306
12.5jQuery与CSS3 307
12.5.1CSS3构造规则 307
12.5.2浏览器的兼容性 308
12.5.3jQuery的引入 309
12.6实战演练——我的第一个jQuery程序 310
12.6.1开发前的一些准备工作 310
12.6.2具体的程序开发 311
12.7疑难解惑 311
第13章 jQuery的选择器 313
13.1jQuery的$ 314
13.1.1$符号的应用 314
13.1.2功能函数的前缀 315
13.1.3创建DOM元素 315
13.2基本选择器 316
13.2.1通配符选择器(*) 316
13.2.2ID选择器(#id) 317
13.2.3类名选择器(class) 318
13.2.4元素选择器(element) 319
13.2.5复合选择器 320
13.3层级选择器 321
13.3.1祖先后代选择器(ancestor descendant) 321
13.3.2父子选择器(parent〉child) 323
13.3.3相邻元素选择器(prev+next) 324
13.3.4兄弟选择器(prev~siblings) 326
13.4过滤选择器 327
13.4.1简单过滤选择器 327
13.4.2内容过滤选择器 334
13.4.3可见性过滤选择器 340
13.4.4表单过滤选择器 344
13.5表单选择器 345
13.5.1:input 346
13.5.2:text 346
13.5.3:password 347
13.5.4:radio 348
13.5.5:checkbox 349
13.5.6:submit 350
13.5.7:reset 351
13.5.8:button 352
13.5.9:image 353
13.5.10:file 354
13.6属性选择器 355
13.6.1[attribute] 355
13.6.2[attribute=value] 356
13.6.3[attribute!=value] 358
13.6.4[attribute$=value] 359
13.7实战演练——匹配表单中的元素并实现不同的操作 360
13.8疑难解惑 361
第14章 用jQuery控制页面 363
14.1对页面的内容进行操作 364
14.1.1对文本内容进行操作 364
14.1.2对HTML内容进行操作 366
14.1.3移动和复制页面内容 367
14.1.4删除页面内容 368
14.1.5克隆页面内容 369
14.2对标记的属性进行操作 370
14.2.1获取属性的值 370
14.2.2设置属性的值 371
14.2.3删除属性的值 372
14.3对表单元素进行操作 373
14.3.1获取表单元素的值 373
14.3.2设置表单元素的值 374
14.4对元素的CSS样式进行操作 375
14.4.1添加CSS类 375
14.4.2删除CSS类 377
14.4.3动态切换CSS类 378
14.4.4获取和设置CSS样式 379
14.5实战演练——制作奇偶变色的表格 381
14.6疑难解惑 383
第15章 jQuery的动画特效 385
15.1jQuery的基本动画效果 386
15.1.1隐藏元素 386
15.1.2显示元素 389
15.1.3状态切换 391
15.2淡入淡出的动画效果 392
15.2.1淡入隐藏元素 392
15.2.2淡出可见元素 394
15.2.3切换淡入淡出元素 395
15.2.4淡入淡出元素至指定参数值 396
15.3滑动效果 397
15.3.1滑动显示匹配的元素 397
15.3.2滑动隐藏匹配的元素 398
15.3.3通过高度的变化动态切换元素的可见性 400
15.4自定义的动画效果 401
15.4.1创建自定义动画 401
15.4.2停止动画 402
15.5疑难解惑 404
第16章 jQuery的事件处理 405
16.1jQuery的事件机制概述 406
16.1.1什么是jQuery的事件机制 406
16.1.2切换事件 406
16.1.3事件冒泡 408
16.2页面加载响应事件 409
16.3jQuery中的事件函数 410
16.3.1键盘操作事件 410
16.3.2鼠标操作事件 412
16.3.3其他常用事件 415
16.4事件的基本操作 417
16.4.1绑定事件 417
16.4.2触发事件 418
16.4.3移除事件 419
16.5实战演练——制作绚丽的多级动画菜单 420
16.6疑难解惑 425
第17章 jQuery的功能函数 427
17.1功能函数概述 428
17.2常用的功能函数 429
17.2.1操作数组和对象 429
17.2.2操作字符串 432
17.2.3序列化操作 434
17.3调用外部代码 435
17.4疑难解惑 436
第18章 jQuery插件的开发与使用 437
18.1理解插件 438
18.1.1什么是插件 438
18.1.2如何使用插件 438
18.2流行的插件 439
18.2.1jQueryUI插件 440
18.2.2Form插件 442
18.2.3提示信息插件 443
18.2.4jearousel插件 444
18.3定义自己的插件 444
18.3.1插件的工作原理 444
18.3.2自定义一个简单的插件 445
18.4实战演练——创建拖曳购物车效果 448
18.5疑难解惑 449
第4篇 综合案例实战 453
第19章 项目演练1——开发图片堆叠系统 453
19.1项目需求分析 454
19.2项目技术分析 455
19.3系统的代码实现 455
19.3.1设计首页 456
19.3.2图片堆叠核心功能 461
19.3.3封装jQuery插件 468
19.3.4合并js文件和编译CSS文件 469
19.3.5合并ImgPile.js和jquery.imgpile.js文件 470
第20章 项目演练2——开发商品信息展示系统 479
20.1项目需求分析 480
20.2项目技术分析 482
20.3系统的代码实现 482
20.3.1设计首页 482
20.3.2开发控制器类的文件 484
20.3.3开发数据模型类文件 486
20.3.4开发视图抽象类的文件 488
20.3.5项目中的其他js文件说明 491