新書推薦:
《
一个经济杀手的自白 第3版
》
售價:HK$
110.9
《
8秒按压告别疼痛
》
售價:HK$
87.4
《
津巴多时间心理学:挣脱束缚、改写命运的6种时间观
》
售價:HK$
77.3
《
大英博物馆东南亚简史
》
售價:HK$
177.0
《
纯粹·我只要少许
》
售價:HK$
80.6
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:HK$
88.5
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:HK$
69.4
《
日子慢慢向前,事事慢慢如愿
》
售價:HK$
55.8
|
編輯推薦: |
网络开发视频大讲堂系列丛书于2013年5月出版,因其编写细腻、讲解透彻、实用易学、配备全程视频等,备受读者欢迎。丛书累计销售近20万册,其中,《HTML5 CSS3从入门到精通》累计销售10万册。同时,系列书被上百所高校选为教学参考用书。
《JavaScript网页编程从入门到精通(微课精编版)》内容有以下五点特色。
1. 《JavaScript网页编程从入门到精通(微课精编版)》提供了多样化、全方位的学习资源,帮助读者轻松掌握网页设计技术,从小白快速成长为前端开发高手。
(1)361节高清微视频 320个拓展微阅读,移动端PC端同步学习,QQ群微信群随时答疑。
(2)623个实例案例分析 434项实例源代码,速查、高效、实用,增强实战能力。
(3)4900个前端案例 48本参考手册,先观摩,再临摹,高手案头常备,随时查阅提升。
(4)1500套网页模板 12000个设计素材 1036道前端面试真题,随用随取,提升设计效率,快速进阶开发高手行列。
上述资源同时提供了手机端和PC端两种学习模式,扫描图书封底的文泉云盘二维码,即可获得书中的各类学习资源。
2. 本书面向零基
|
內容簡介: |
《JavaScript网页编程从入门到精通(微课精编版)》由浅入深、通俗易懂地讲解了网页制作和动态网站建设的相关技术及实际应用。全书共19章,包括JavaScript基础、JavaScript基本语法、JavaScript程序结构设计、使用数组、使用字符串、使用正则表达式、使用函数、函数式编程、使用对象、面向对象编程、BOM操作、DOM操作、事件操作、CSS操作、JavaScript通信、JavaScript数据存储、JavaScript图形设计、JavaScript文件操作等内容。本书在编写过程中,注意理论与实践相结合,通过大量的实例配合讲解各知识要点。
|
關於作者: |
前端科技是由一群高校一线老师、国内知名互联网公司的ITer组成的技术群组,群体信仰互联网精神,利用业余时间共享知识,传播技术和经验。以狂热的执着、屌丝的生活态度,把程序猿做到极致,不知疲倦地从事Web开发、教学培训、教材编写等业务,所编写的同类图书在很多网店上的销量名列前茅,受到了广大网友们的好评,让数十万的读者轻松跨进了Web开发的大门,为IT技术的普及和应用做出了积极贡献。
|
目錄:
|
目 录
第1 章 JavaScript 基础 1
视频讲解:16 分钟
1.1 JavaScript 概述 2
1.1.1 什么是JavaScript 2
1.1.2 为什么学习JavaScript 2
1.2 JavaScript 历史和版本 5
1.2.1 JavaScript 早期历史 5
1.2.2 ECMAScript 与JavaScript 的关系 5
1.2.3 ECMAScript 历史 6
1.2.4 ECMAScript 与浏览器的兼容 6
1.3 JavaScript 构成 7
1.3.1 JavaScript 核心 7
1.3.2 文档对象模型 7
1.3.3 浏览器对象模型 9
1.4 初次使用JavaScript 9
1.4.1 编写脚本 9
1.4.2 脚本位置 12
1.4.3 设置延迟执行 13
1.4.4 设置异步响应 13
1.4.5 在XHTML 中使用JavaScript 脚本 13
1.4.6 兼容不支持JavaScript 的浏览器 14
1.4.7 比较嵌入代码与链接脚本 14
1.4.8 使用标签 14
1.4.9 脚本的动态加载 14
1.5 JavaScript 解析基础 14
1.6 浏览器与JavaScript 15
1.7 JavaScript 开发工具 15
1.8 JavaScript 发展趋势 15
第2 章 JavaScript 基本语法 16
视频讲解:2 小时1 分钟
2.1 编写第一行代码 17
2.2 变量 18
2.2.1 声明变量 18
2.2.2 赋值变量 19
2.2.3 变量的作用域 19
2.2.4 全局变量 20
2.3 数据类型 21
2.3.1 检测类型 21
2.3.2 数值 22
2.3.3 字符串 24
2.3.4 布尔值 25
2.3.5 Null 和Undefined 26
2.4 运算符 27
2.5 使用算术运算符 29
2.5.1 加法运算 29
2.5.2 减法运算 30
2.5.3 乘法运算 31
2.5.4 除法运算 31
2.5.5 余数运算 31
2.5.6 取反运算 32
2.5.7 递增和递减运算 32
2.6 使用逻辑运算符 33
2.6.1 与运算 33
2.6.2 或运算符 35
2.6.3 非运算符 36
2.6.4 逻辑运算 36
2.7 使用关系运算符 38
2.7.1 大小比较 38
2.7.2 包含检测 39
2.7.3 等值检测 39
2.8 使用赋值运算符 41
2.9 使用对象操作运算符 42
2.10 使用位运算符 42
2.10.1 认识位运算 43
2.10.2 逻辑位运算 43
2.10.3 移位运算 43
2.11 使用其他运算符 43
2.11.1 条件运算符 43
2.11.2 逗号运算符 44
2.11.3 void 运算符 45
2.12 表达式 46
2.13 严格模式 49
2.14 案例实战 51
2.14.1 完善类型检测接口 51
2.14.2 转换为字符串 52
2.14.3 转换为数字 54
2.14.4 转换为数字形式字符串 56
2.14.5 转换为布尔值 57
2.14.6 转换为对象 58
2.14.7 把对象转换为值 58
2.14.8 强制类型转换 59
2.15 强化练习 59
2.15.1 求值 59
2.15.2 简单编程 59
2.15.3 表达式计算 59
2.15.4 表达式编程 59
第3 章 JavaScript 程序结构设计 60
视频讲解:1 小时30 分钟
3.1 语句 61
3.1.1 表达式语句 61
3.1.2 复合语句 61
3.1.3 声明语句 62
3.1.4 空语句 62
3.2 选择结构 63
3.2.1 if 语句 63
3.2.2 设计多选择结构 64
3.2.3 switch 语句 67
3.2.4 default 从句 69
3.2.5 优化选择结构 70
3.3 循环结构 73
3.3.1 while 语句 73
3.3.2 do-while 语句 74
3.3.3 for 语句 75
3.3.4 for-in 语句 76
3.3.5 优化循环结构 79
3.4 跳转结构 81
3.4.1 标签语句 81
3.4.2 break 语句 81
3.4.3 continue 语句 83
3.5 异常处理结构 85
3.5.1 throw 语句 86
3.5.2 try-catch-finally 语句 86
3.6 案例实战 88
3.6.1 把结构语句转换为表达式 88
3.6.2 优化选择运算性能 90
3.6.3 优化循环运算性能 91
3.6.4 设计杨辉三角 93
3.6.5 编程题 95
第4 章 使用数组 97
视频讲解:1 小时43 分钟
4.1 数组基础 98
4.1.1 定义数组 98
4.1.2 定义多维数组 99
4.1.3 读写数组 99
4.1.4 数组长度 100
4.1.5 类数组 101
4.1.6 检测数组 101
4.1.7 遍历数组 102
4.1.8 空位数组 103
4.2 使用Array 104
4.2.1 判断数组 104
4.2.2 增删数组 104
4.2.3 合并数组 106
4.2.4 转换为字符串 107
4.2.5 截取数组 108
4.2.6 排序数组 109
4.2.7 定位元素 111
4.2.8 迭代数组 112
4.2.9 过滤数组 115
4.2.10 验证数组 115
4.2.11 汇总数组 116
4.3 案例实战 118
4.3.1 交换变量值 118
4.3.2 使用关联数组 118
4.3.3 扩展数组 120
4.3.4 初始化数组 121
4.3.5 数组去重 122
4.4 强化练习 124
4.4.1 插入排序 124
4.4.2 二分插入排序 124
4.4.3 选择排序 124
4.4.4 冒泡排序 124
4.4.5 快速排序 124
4.4.6 计数排序 124
第5 章 使用字符串 125
视频讲解:1 小时19 分钟
5.1 字符串基础 126
5.1.1 定义字符串 126
5.1.2 字符串与数组 128
5.1.3 字符串长度 129
5.1.4 字符集 130
5.1.5 Base64 转码 131
5.2 使用String 132
5.2.1 字符串的表示和值 132
5.2.2 连接字符串 133
5.2.3 获取指定位置字符 133
5.2.4 获取字符的位置 134
5.2.5 查找字符串 135
5.2.6 截取字符串 136
5.2.7 替换字符串 138
5.2.8 大小写转换 139
5.2.9 比较字符串 139
5.2.10 转换为数组 140
5.2.11 修剪字符串 141
5.3 案例实战 141
5.3.1 格式化字符串 141
5.3.2 字符编码和解码 142
5.3.3 Unicode 编码和解码 144
5.3.4 字符串智能替换 146
5.3.5 过滤敏感词 148
5.3.6 高级加密解密 148
第6 章 使用正则表达式 151
视频讲解:1 小时20 分钟
6.1 新建正则表达式 152
6.1.1 构造正则表达式 152
6.1.2 正则表达式直接量 153
6.2 匹配规则基础 154
6.2.1 字面量字符和元字符 154
6.2.2 转义字符 155
6.2.3 特殊字符 156
6.2.4 字符类 157
6.2.5 预定义模式 159
6.2.6 重复类 160
6.2.7 量词字符 160
6.2.8 贪婪模式 160
6.2.9 修饰字符 161
6.2.10 模式分组 162
6.2.11 分组引用 163
6.2.12 非引用组 164
6.2.13 声明边界 165
6.3 使用RegExp 165
6.3.1 RegExp 对象属性 165
6.3.2 test 166
6.3.3 exec 167
6.3.4 RegExp 静态属性 169
6.4 案例实战 171
6.4.1 匹配十六进制颜色值 171
6.4.2 匹配时间 172
6.4.3 匹配日期 173
6.4.4 匹配成对标签 173
6.4.5 匹配物理路径 174
6.4.6 货币数字的千位分隔符表示 175
6.4.7 验证密码 176
第7 章 使用函数 178
视频讲解:2 小时5 分钟
7.1 函数基础 179
7.1.1 声明函数 179
7.1.2 定义函数表达式 180
7.1.3 构造函数 181
7.1.4 定义嵌套函数 182
7.1.5 比较函数的定义方法 182
7.1.6 函数的返回值 182
7.1.7 函数的参数 183
7.1.8 调用函数 184
7.1.9 函数作用域 186
7.1.10 函数的标识符 187
7.2 使用arguments 188
7.2.1 认识arguments 对象 188
7.2.2 使用callee 190
7.2.3 应用arguments 190
7.3 使用Function 192
7.3.1 name 属性 192
7.3.2 length 属性 192
7.3.3 toString 193
7.3.4 call和apply 193
7.3.5 bind 197
7.4 案例实战 199
7.4.1 函数调用模式 199
7.4.2 使用闭包 201
7.4.3 使用this 202
7.4.4 函数引用和函数调用 204
7.4.5 链式调用 204
7.4.6 使用函数实现历史记录 205
7.4.7 扩展Function 类型 206
7.4.8 代码的模块模式 207
7.4.9 惰性实例化 208
7.4.10 分支函数 209
7.4.11 惰性载入函数 210
7.4.12 函数节流 211
第8 章 函数式编程 213
8.1 函数式编程概述 214
8.1.1 范畴论 214
8.1.2 一等公民的函数 215
8.1.3 纯函数 215
8.1.4 命令式和声明式 218
8.1.5 PointFree 风格 218
8.2 函数式基本运算 219
8.2.1 函数合成 219
8.2.2 compose 实现 221
8.2.3 函数柯里化 222
8.2.4 curry 实现 224
8.2.5 curry 变体 225
8.3 函子 228
8.3.1 认识函子 228
8.3.2 定义容器 229
8.3.3 定义函子 230
8.3.4 Either 函子 232
8.3.5 Applicative 函子 234
8.4 高阶函数 236
8.4.1 回调函数 236
8.4.2 返回函数 237
8.5 递归函数 239
8.5.1 定义递归函数 240
8.5.2 尾递归 241
8.5.3 栈缓存 242
8.6 案例实战 244
8.6.1 过滤运算 244
8.6.2 分组运算 247
8.6.3 映射运算 249
8.7 使用Promise 对象 252
第9 章 使用对象 253
视频讲解:32 分钟
9.1 创建对象 254
9.1.1 使用new 运算符 254
9.1.2 对象直接量 255
9.1.3 使用create方法 257
9.2 对象的基本操作 258
9.2.1 引用对象 258
9.2.2 复制对象 258
9.2.3 克隆对象 259
9.2.4 销毁对象 260
9.3 读写属性 260
9.3.1 定义属性 260
9.3.2 访问属性 263
9.3.3 赋值属性 265
9.3.4 删除属性 266
9.3.5 对象方法 266
9.4 使用Object 对象 268
9.4.1 Object 函数 268
9.4.2 Object 构造函数 268
9.4.3 使用Object 静态方法 268
9.4.4 使用Object 实例方法 268
9.5 使用包装对象 268
9.5.1 包装对象的实例方法 269
9.5.2 原始类型的自动转换 269
9.5.3 自定义方法 269
9.5.4 Boolean 对象 269
9.6 使用属性描述对象 269
9.6.1 认识属性描述对象 269
9.6.2 Object.getOwnPropertyDescriptor 270
9.6.3 Object.defineProperty和Object.defineProperties 270
9.6.4 元属性 270
9.6.5 Object.getOwnPropertyNames 270
9.6.6 Object.prototype.propertyIsEnumerable 270
9.6.7 存取器 270
9.6.8 对象的拷贝 270
9.6.9 控制对象状态 270
9.7 使用Math 对象 270
9.7.1 Math 属性 271
9.7.2 Math 方法 271
9.8 使用Date 对象 271
9.8.1 创建Date 对象 271
9.8.2 日期运算 271
9.8.3 Date 静态方法 271
9.8.4 Date 实例方法 271
9.9 使用JSON 对象 271
9.9.1 JSON.stringify 272
9.9.2 JSON.parse 272
9.9.3 比较JSON 与XML 272
9.9.4 优化JSON 数据 272
9.10 使用console 对象 272
9.10.1 浏览器实现 272
9.10.2 console 对象的方法 272
9.10.3 命令行API 272
9.10.4 debugger 语句 272
第10 章 面向对象编程 273
视频讲解:33 分钟
10.1 面向对象基础 274
10.1.1 对象 274
10.1.2 构造函数 274
10.1.3 使用new 运算符 275
10.1.4 new 运行原理 275
10.1.5 使用new.target 276
10.2 使用this 277
10.2.1 this 调用对象 277
10.2.2 this 应用场景 277
10.2.3 注意事项 277
10.2.4 绑定this 277
10.3 使用prototype 277
10.3.1 定义原型 278
10.3.2 原型属性和本地属性 279
10.3.3 应用原型 280
10.3.4 原型链 283
10.3.5 原型继承 284
10.3.6 扩展原型方法 285
10.3.7 Object.getPrototypeOf 286
10.3.8 Object.setPrototypeOf 286
10.3.9 Object.create 286
10.3.10 Object.prototype.isPrototypeOf 286
10.3.11 Object.prototype.__proto__ 287
10.3.12 获取原型对象方法的比较 287
10.4 继承 287
10.4.1 Object.getOwnPropertyNames 287
10.4.2 Object.prototype.hasOwnProperty 287
10.4.3 in 运算符和for-in 循环 287
10.4.4 对象的拷贝 288
10.5 面向对象编程模式 289
10.5.1 构造函数的继承 289
10.5.2 多重继承 290
10.5.3 模块 291
10.6 案例实战 294
10.6.1 设计工厂模式 294
10.6.2 设计类继承 294
10.6.3 设计构造原型模式 294
10.6.4 设计动态原型模式 294
10.6.5 设计实例继承 295
10.6.6 惰性实例化 295
10.6.7 安全构造对象 295
第11 章 BOM 操作 296
视频讲解:1 小时55 分钟
11.1 window 对象 297
11.1.1 window 对象属性 297
11.1.2 window 对象方法 298
11.1.3 window 对象事件 301
11.1.4 访问浏览器对象 302
11.1.5 全局作用域 302
11.1.6 使用人机互动方法 302
11.1.7 打开和关闭窗口 303
11.1.8 使用框架集 303
11.1.9 控制窗口位置 303
11.1.10 控制窗口大小 303
11.2 navigator 对象 303
11.2.1 navigator 对象属性 303
11.2.2 浏览器检测方法 305
11.2.3 检测浏览器类型和版本号 305
11.2.4 检测客户操作系统 305
11.2.5 检测插件 305
11.3 location 对象 306
11.4 history 对象 307
11.4.1 实现无刷新浏览 308
11.4.2 设计导航页面 311
11.4.3 设计无刷新网站 312
11.4.4 设计无刷新灯箱广告 312
11.4.5 设计可后退画板 313
11.5 screen 对象 313
11.6 document 对象 314
11.6.1 document 对象属性 315
11.6.2 document 对象方法 316
11.7 案例实战 317
11.7.1 使用远程脚本 317
11.7.2 设计远程交互 319
11.7.3 使用浮动框架 322
11.7.4 封装用户代理检测 324
第12 章 DOM 操作 325
视频讲解:1 小时47 分钟
12.1 DOM 版本概述 326
12.2 节点 326
12.2.1 节点类型 326
12.2.2 节点名称和值 326
12.2.3 节点树 327
12.2.4 访问节点 327
12.2.5 操作节点 330
12.3 文档 331
12.3.1 访问文档节点和子节点 331
12.3.2 访问文档信息 332
12.3.3 访问文档元素 332
12.3.4 访问文档集合 333
12.3.5 使用HTML5Document 333
12.4 元素 334
12.4.1 访问元素 334
12.4.2 遍历元素 335
12.4.3 创建元素 335
12.4.4 复制节点 336
12.4.5 插入节点 336
12.4.6 删除节点 337
12.4.7 替换节点 337
12.4.8 获取焦点元素 338
12.4.9 检测包含节点 339
12.5 文本 339
12.5.1 访问文本节点 339
12.5.2 创建文本节点 340
12.5.3 操作文本节点 341
12.5.4 读取HTML 字符串 341
12.5.5 插入HTML 字符串 342
12.5.6 替换HTML 字符串 342
12.5.7 插入文本 343
12.6 文档片段 343
12.7 属性 344
12.7.1 访问属性节点 344
12.7.2 读取属性值 345
12.7.3 设置属性值 345
12.7.4 删除属性 346
12.7.5 使用类选择器 347
12.7.6 自定义属性 348
12.8 CSS 选择器 348
12.9 范围 350
12.9.1 创建范围 350
12.9.2 选择范围 350
12.9.3 设置范围 350
12.9.4 操作范围内容 350
12.9.5 插入范围内容 350
12.9.6 折叠范围 350
12.9.7 比较范围 351
12.9.8 复制和清除范围 351
12.10 案例实战 351
12.10.1 异步加载远程数据 351
12.10.2 使用script 设计异步交互 351
12.10.3 使用JSONP 异步通信 351
12.10.4 访问DOM 集合 352
12.10.5 编辑选择文本 352
第13 章 事件操作 353
视频讲解:46 分钟
13.1 事件基础 354
13.1.1 JavaScript 事件发展历史 354
13.1.2 事件模型 354
13.1.3 事件传播 354
13.1.4 事件类型 355
13.1.5 绑定事件 355
13.1.6 事件监听函数 356
13.1.7 注册事件 358
13.1.8 销毁事件 360
13.1.9 event 对象 362
13.1.10 事件委托 364
13.2 自定义事件 366
13.2.1 设计弹出对话框 366
13.2.2 设计遮罩层 367
13.2.3 自定义事件 369
13.2.4 设计事件触发模型 370
13.2.5 应用事件模型 371
13.3 鼠标事件 375
13.3.1 click 和dblclick 375
13.3.2 mouseup、mousedown 和mousemove 375
13.3.3 mouseover 和mouseenter 375
13.3.4 mouseout 和mouseleave 375
13.3.5 contextmenu 375
13.4 MouseEvent 对象 375
13.4.1 altKey、ctrlKey、metaKey 和
shiftKey 375
13.4.2 button 和buttons 376
13.4.3 clientX、clientY、movementX、movementY、screenX 和screenY 376
13.4.4 relatedTarget 376
13.4.5 小结 376
13.5 wheel 事件 376
13.6 键盘事件 376
13.6.1 altKey、ctrlKey、metaKey 和shiftKey 376
13.6.2 key 和charCode 376
13.6.3 小结 376
13.7 进度事件 377
13.8 拖曳事件 377
13.8.1 事件种类 377
13.8.2 DataTransfer 对象概述 377
13.8.3 DataTransfer 对象的属性 377
13.8.4 DataTransfer 对象的方法 377
13.9 触摸事件 377
13.9.1 Touch 对象 377
13.9.2 TouchList 对象 378
13.9.3 TouchEvent 对象 378
13.9.4 触摸事件的种类 378
13.10 表单事件 378
13.10.1 input 378
13.10.2 select 378
13.10.3 change 378
13.10.4 submit 378
13.10.5 reset 378
13.11 文档事件 378
13.11.1 beforeunload、unload、load、error、pageshow 和pagehide 378
13.11.2 DOMContentLoaded 和readystatechange 379
13.11.3 scroll 379
13.11.4 resize 379
13.11.5 hashchange 和popstate 379
13.11.6 cut、copy 和paste 379
13.11.7 focus、blur、focusin 和focusout 379
第14 章 CSS 操作 380
视频讲解:41 分钟
14.1 CSS 脚本基础 381
14.1.1 访问行内样式 381
14.1.2 使用style 382
14.1.3 使用styleSheets 385
14.1.4 使用selectorText 388
14.1.5 修改样式 389
14.1.6 添加样式 390
14.1.7 访问渲染样式 391
14.1.8 访问媒体查询 394
14.1.9 CSS 事件 395
14.2 CSS 尺寸 397
14.2.1 访问CSS 宽度和高度 397
14.2.2 把值转换为整数 397
14.2.3 使用offsetWidth 和offsetHeight 397
14.2.4 元素尺寸 397
14.2.5 视图尺寸 398
14.2.6 窗口尺寸 398
14.3 CSS 位置 398
14.3.1 窗口位置 398
14.3.2 相对位置 398
14.3.3 定位位置 398
14.3.4 设置偏移位置 398
14.3.5 设置相对位置 398
14.3.6 鼠标指针绝对位置 398
14.3.7 鼠标指针相对位置 398
14.3.8 滚动条位置 398
14.3.9 设置滚动条位置 399
14.4 CSS 显示 399
14.4.1 设置显隐效果 399
14.4.2 设置渐隐、渐显效果 399
14.5 CSS 动画 399
14.5.1 使用定时器 399
14.5.2 滑动 399
14.5.3 渐显 399
14.5.4 使用requestAnimationFrame 399
第15 章 JavaScript 通信 400
视频讲解:1 小时21 分钟
15.1 XMLHttpRequest1.0 基础 401
15.1.1 定义XMLHttpRequest 对象 401
15.1.2 建立XMLHttpRequest 连接 402
15.1.3 发送GET 请求 403
15.1.4 发送POST 请求 403
15.1.5 转换串行化字符串 405
15.1.6 跟踪状态 406
15.1.7 中止请求 407
15.1.8 获取XML 数据 407
15.1.9 获取HTML 文本 408
15.1.10 获取JavaScript 脚本 409
15.1.11 获取JSON 数据 409
15.1.12 获取纯文本 410
15.1.13 获取头部信息 411
15.2 XMLHttpRequest2.0 基础 411
15.2.1 请求时限 412
15.2.2 FormData 数据对象 412
15.2.3 上传文件 412
15.2.4 跨域访问 413
15.2.5 响应不同类型数据 413
15.2.6 接收二进制数据 413
15.2.7 监测数据传输进度 414
15.3 案例实战 414
15.3.1 接收ArrayBuffer 对象 415
15.3.2 接收Blob 对象 415
15.3.3 发送字符串 415
15.3.4 发送表单数据 415
15.3.5 发送二进制文件 415
15.3.6 发送Blob 对象 416
15.3.7 跨域请求 416
15.3.8 设计文件上传进度条 416
15.4 跨文档消息传递 416
15.4.1 postMessage 基础 416
15.4.2 案例:设计简单的跨域通话 418
15.4.3 案例:设计跨域动态对话 418
15.4.4 案例:设计通道通信 418
15.5 WebSockets 通信 418
15.5.1 WebSocket 基础 418
15.5.2 使用WebSocketsAPI 420
15.5.3 在PHP 中建立socket 423
15.5.4 WebSocketsAPI 开发框架 424
15.5.5 案例:设计简单的呼-应通信 425
15.5.6 案例:发送JSON 对象 425
15.5.7 案例:使用Workerman 框架通信 426
15.5.8 案例:推送信息 426
第16 章 JavaScript 数据存储 427
视频讲解:1 小时40 分钟
16.1 HTTPCookie 428
16.1.1 写入cookie 信息 428
16.1.2 读取cookie 信息 430
16.1.3 修改和删除cookie 信息 431
16.1.4 附加cookie 信息 431
16.1.5 Http-Only Cookie 432
16.1.6 封装cookie 操作 433
16.1.7 案例实战 433
16.2 WebStorage 434
16.2.1 使用WebStorage 434
16.2.2 案例:设计登录页 436
16.2.3 案例:流量统计 436
16.3 WebSQLDatabase 437
16.3.1 使用WebSQLDatabase 437
16.3.2 案例:设计登录页 442
16.3.3 案例:设计留言板 442
16.4 indexedDB 442
16.4.1 建立连接 442
16.4.2 更新版本 444
16.4.3 新建仓库 446
16.4.4 新建索引 447
16.4.5 使用事务 449
16.4.6 保存数据 450
16.4.7 访问数据 451
16.4.8 访问键值 451
16.4.9 访问属性 451
16.5 案例:设计录入表单 451
第17 章 JavaScript 图形设计 452
视频讲解:2 小时15 分钟
17.1 使用canvas 453
17.2 绘制图形 455
17.2.1 矩形 455
17.2.2 路径 456
17.2.3 直线 457
17.2.4 圆弧 458
17.2.5 二次方曲线 460
17.2.6 三次方曲线 461
17.3 定义样式和颜色 462
17.3.1 颜色 462
17.3.2 不透明度 463
17.3.3 实线 464
17.3.4 虚线 465
17.3.5 线性渐变 465
17.3.6 径向渐变 467
17.3.7 图案 467
17.3.8 阴影 468
17.3.9 填充规则 469
17.4 图形变形 470
17.4.1 保存和恢复状态 470
17.4.2 清除画布 471
17.4.3 移动坐标 472
17.4.4 旋转坐标 473
17.4.5 缩放图形 474
17.4.6 变换图形 475
17.5 图形合成 476
17.5.1 合成 476
17.5.2 裁切 477
17.6 绘制文本 477
17.6.1 填充文字 477
17.6.2 轮廓文字 478
17.6.3 文本样式 478
17.6.4 测量宽度 479
17.7 使用图像 479
17.7.1 导入图像 479
17.7.2 缩放图像 481
17.7.3 裁切图像 482
17.7.4 平铺图像 482
17.8 像素操作 483
17.8.1 认识ImageData 对象 483
17.8.2 创建图像数据 483
17.8.3 将图像数据写入画布 483
17.8.4 在画布中复制图像数据 484
17.8.5 保存图片 484
17.9 Path2D 对象 485
17.9.1 Canvas2DAPI 新功能 486
17.9.2 使用Path2D 对象 486
17.10 案例实战 486
17.10.1 设计基本动画 486
17.10.2 颜色选择器 486
17.10.3 给图像去色 486
17.10.4 缩放图像和反锯齿处理 486
17.10.5 设计运动动画 487
17.10.6 设计地球和月球公转动画 487
第18 章 JavaScript 文件操作 488
视频讲解:1 小时24 分钟
18.1 FileList 489
18.2 Blob 490
18.2.1 访问Blob 490
18.2.2 创建Blob 491
18.2.3 截取Blob 493
18.2.4 保存Blob 494
18.3 FileReader 495
18.3.1 读取文件 495
18.3.2 事件监测 497
18.4 ArrayBuffer 和ArrayBufferView 498
18.4.1 使用ArrayBuffer 499
18.4.2 使用ArrayBufferView 499
18.4.3 使用DataView 500
18.5 FileSystemAPI 503
18.5.1 认识FileSystem API 503
18.5.2 访问FileSystem 503
18.5.3 申请配额 505
18.5.4 新建文件 508
18.5.5 写入数据 510
18.5.6 添加数据 510
18.5.7 读取数据 510
18.5.8 复制文件 511
18.5.9 删除文件 511
18.5.10 创建目录 511
18.5.11 读取目录 512
18.5.12 删除目录 512
18.5.13 复制目录 512
18.5.14 重命名目录 512
18.5.15 使用filesystem:URL 513
18.6 案例:设计资源管理器 513
第19 章 案例实战 514
19.1 设计折叠面板 515
19.2 设计计算器 515
19.3 设计日历 515
19.4 设计验证插件 515
19.5 设计俄罗斯方块 515
附录 517
附录A ECMAScript 6 517
附录B 使用SVG 517
附录C CORS 通信 517
附录D 同源策略 518
附录E Mutation Observer API 518
附录F JavaScript 编程风格 518
|
內容試閱:
|
前 言
网络开发视频大讲堂系列丛书于2013年5月出版,因其编写细腻、讲解透彻、实用易学、配备全程视频等,备受读者欢迎。丛书累计销售近20万册,其中,《HTML5 CSS3从入门到精通》累计销售10万册。同时,系列书被上百所高校选为教学参考用书。本次改版,在继承前版优点的基础上,进一步对图书内容进行了优化,选择面试、就业最急需的内容,重新录制了视频,同时增加了许多当前流行的前端技术,提供了入门学习实例应用项目开发能力测试面试等各个阶段的海量开发资源库,实战容量更大,以帮助读者快速掌握前端开发所需要的核心精髓内容。JavaScript是目前最流行的编程语言之一,在2018年12月Tiobe编程语言排行榜中位居第7位,IEEE发布2018年度编程语言排行榜位居第8位。作为一种轻型的、解释型的程序设计语言,JavaScript主要应用于Web应用开发,它以脚本的形式嵌入网页文档内,由客户端浏览器负责解析和执行。JavaScript语言最近几年发展速度比较快,也非常受网页设计人员欢迎。它的优势在于灵活和轻巧,同时也是少数几种能够兼顾函数式编程和面向对象编程的语言。本书将系统讲解JavaScript的语言特性,帮助读者完全掌握JavaScript编程技巧。
本书内容
1. JavaScript基础:在网页中使用JavaScript、JavaScript基本语法、JavaScript程序结构、使用数组、使用字符串、使用正则表达式、使用函数和对象、面向对象编程。
2. DOM编程:BOM操作、DOM操作、CSS操作、事件操作。
3. JavaScript API:JavaScript通信、JavaScript数据存储、JavaScript图形设计、JavaScript文件操作。
4. JavaScript 实战:设计计算器、设计日历、设计插件、设计游戏。
本书特点
1.由浅入深,编排合理,实用易学
本书系统地讲解了JavaScript网页编程技术各个方面的知识,循序渐进,配合大量实例,帮助读者奠定坚实的理论基础,做到知其所以然。
2.跟着案例和视频学,入门更容易
跟着例子学习,通过训练提升,是初学者最好的学习方式。本书案例丰富详尽,共600多个,且都附有详尽的代码注释及清晰的视频讲解。跟着这些案例边做边学,可以避免学到的知识流于表面、限于理论,尽情感受编程带来的快乐和成就感。
3.丰富的线上资源,多元化学习体验
为了传递更多知识,本书力求突破传统纸质书的厚度限制。本书提供了丰富的线上微资源,通过手机扫码,读者可随时观看讲解视频,拓展阅读相关知识,全程便捷、高效,感受不一样的学习体验。
4.精彩栏目,易错点、重点、难点贴心提醒
本书根据初学者特点,在一些易错点、重点、难点位置精心设置了注意提示等小栏目。通过这些小栏目,读者会更留心相关的知识点和概念,绕过陷阱,掌握很多应用技巧。
本书资源
1. 详尽的配书资源
361节同步微视频;320个拓展微阅读;623个实例案例分析;434项源代码资源。
2. 前端素材库
PSD 网页分层模板(426 套);设计素材大全(17 类,10000 个);网页配色工具箱(600 个);网页模板大全(632 套);JavaScript 网页特效大全(24 套);Bootstrap 网页模板(500 套);Photoshop 设计大全(18 类,2000 个);历史经典网页欣赏(508 例)。
3. 案例资源库
网页设计初级示例大全(49 例);网页应用分类案例大全(1600 例);HTML5 CSS3 JavaScript 实用案例大全(3200 例)。
4. 权威参考手册
PHP、MySQL 参考手册(5 册);9 本CSS 参考手册;10 本HTML 参考手册;23 本JavaScript 参考手册;1 本Photoshop 学习手册。
5. 面试题库
HTML、CSS 面试题(351 题);JavaScript 面试题(685 题);前端开发设计面试经验。
读者对象
具备一定计算机操作基础的初学者。具有一定网站开发经验的初、中级用户。立志从事网站开发工作的从业人员。自学网页设计或网站开发的大中专学生。各类网站站长。本书也可以作为各大中专院校相关专业的教学辅导和参考用书,或作为相关培训机构的培训教材。
读前须知
本书提供了大量示例,需要用到IE、Firefox、Chrome等主流浏览器进行测试或预览,同时后面部分章节还要用到PHP测试环境。因此,为了测试示例或代码,读者需要安装IE、Firefox、Chrome等浏览器,并根据书中详细介绍安装PHP测试环境。限于篇幅,本书示例没有提供完整的代码,读者根据学习需要补充完整的HTML结构,在网页中输入标签,再把书中列举的JavaScript示例代码写在标签内,最后在Web浏览器中浏览该示例页面,以验证代码运行效果。或者直接参考本书提供的示例源代码,边学边练。
读者服务
学习本书时,请先扫描封底的权限二维码(需要刮开涂层)获取学习权限,然后即可免费学习书中的所有线上线下资源。本书所附赠的超值资源库内容,读者可登录清华大学出版社网站,在对应图书页面下获取其下载方式。也可扫描图书封底的文泉云盘二维码,获取其下载方式。本书提供QQ群、微信公众号、服务网站等互动渠道,提供在线技术交流、学习答疑、技术资讯、视频课堂、在线勘误等功能。在这里,您可以结识大量志同道合的朋友,在交流和切磋中不断成长。读者对本书有什么好的意见和建议,也可以通过邮箱发邮件给我们。
|
|