JAVASCRIPT快速入门与开发实战
- ISBN:9787122433725
- 装帧:平装
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:268
- 出版时间:2024-05-01
- 条形码:9787122433725 ; 978-7-122-43372-5
本书特色
JavaScript是web编程语言,其受欢迎程度连续多年稳居前列,成为程序员受欢迎的开发语言之一。JavaScript已经跨越前端、服务端、移动端,甚至可以开发物联网应用,正以惊人的速度成为各种应用程序的通用语言,包括 Web、桌面、云和移动设备上的应用程序。 本书的目标是全面地讲解JavaScript语言,帮助读者深入了解JavaScript函数、作用域、闭包、生成器函数、对象、数组、模块化等方方面面的各种特性,熟悉DOM、事件和计时器等测试与跨浏览器开发,以及流行的JavaScript框架所使用的技术,无论是小白还是具有一定基础的开发人员,都可以通过学习本书获得精进。 内容特色: 1循序渐进:JavaScript自底向上逐层详细介绍每一个概念和细节; 2内容全面:完整介绍了JavaScript在前端、服务端等的全面技术应用; 3案例丰富:提供了大量学习实例,并同步有视频教学,边学边用; 4配套学习资源:赠送配套实例代码,更容易理解编程思想。
内容简介
本书分14章对JavaScript编程语言展开介绍,从JavaScript发展历史到基本语法、面向对象编程、程序调试、DOM操作、BOM操作,*后到JavaScript高级应用,还有ES6新特性、Promise异步编程和模块化开发等技术内容,全方位系统地介绍了作为一名前端开发人员所必须要掌握的JavaScript内容。 如果您有过JavaScript的开发经验,相信您读完这本书也会纠正个人技术认知上的部分误区,如果您是一位初学者,本书也同样适合您,不过需要您把学习本书看作是一个长期任务,可以根据书中的编写案例认认真真地加以练习总结,相信在不久后同样可以深入掌握JavaScript。
目录
1.1 初识JavaScript 001
1.1.1 JavaScript的发展历史 001
1.1.2 JavaScript的特点 002
1.1.3 JavaScript的应用场景 002
1.1.4 JavaScript的开发工具 002
1.2 JavaScript的组成 003
小结 004 第2章 在网页中使用JavaScript 005
2.1 行内方式 005
2.1.1 通过“JavaScript:”调用函数 005
2.1.2 在事件属性中调用函数 005
2.2 内嵌方式 006
2.3 链接外部JavaScript文件方式 006
小结 006 第3章 JavaScript基本语法 007
3.1 变量 007
3.1.1 概述 007
3.1.2 变量的使用 007
3.1.3 变量的重新赋值 008
3.1.4 变量使用注意事项 008
3.1.5 变量命名规范 009
3.1.6 案例:两个变量的交换 009
3.2 数据类型 010
3.2.1 概述 010
3.2.2 数据类型的分类 010
3.2.3 数字类型 010
3.2.4 字符串类型 011
3.2.5 布尔类型 012
3.2.6 Null类型 012
3.2.7 Undefined类型 013
3.2.8 typeof关键字 013
3.3 数据类型转换 014
3.3.1 概述 014
3.3.2 显式类型转换 014
3.3.3 隐式类型转换 015
3.4 运算符 016
3.4.1 概述 016
3.4.2 算术运算符 016
3.4.3 关系运算符 017
3.4.4 逻辑运算符 018
3.4.5 赋值运算符 019
3.4.6 三目运算符 020
3.4.7 运算符的优先级 020
3.5 注释 021
3.5.1 概述 021
3.5.2 单行注释 021
3.5.3 多行注释 021
3.6 输入输出语句 021
3.6.1 说明 021
3.6.2 输入 021
3.6.3 输出 022
3.7 任务练习 022
小结 023 第4章 程序结构 024
4.1 顺序结构 024
4.2 选择结构 024
4.2.1 if结构 025
4.2.2 if...else...结构 026
4.2.3 if...else if...else结构 027
4.2.4 switch结构 029
4.2.5 条件嵌套 031
4.2.6 多分支选择结构和switch对比 032
4.3 循环结构 032
4.3.1 for循环 032
4.3.2 while循环 033
4.3.3 do...while循环 034
4.3.4 for和while的对比 035
4.3.5 while和do...while的对比 035
4.3.6 循环嵌套 036
4.4 跳转语句 037
4.4.1 break语句 037
4.4.2 continue语句 038
4.5 任务练习 038
小结 039 第5章 数组 040
5.1 概述 040
5.2 定义数组 041
5.2.1 构造数组 041
5.2.2 数组字面量 041
5.3 访问数组 041
5.3.1 数组下标 041
5.3.2 数组长度 042
5.4 数组遍历 043
5.4.1 for循环索引方式 043
5.4.2 for...in方式 043
5.4.3 for...of方式 044
5.5 数组的常见操作 044
5.5.1 求数组*大值 044
5.5.2 两个数组合并 045
5.5.3 数组筛选 045
5.5.4 数组翻转 046
5.5.5 对数组元素去重 047
小结 047 第6章 程序调试及常见错误 048
6.1 为什么要进行程序调试 048
6.2 常见的程序调试方式 048
6.2.1 使用alert方法调试 048
6.2.2 使用log方法调试 049
6.3 Sources断点调试 051
6.3.1 断点调试概述 051
6.3.2 常用的调试按钮 052
6.3.3 Watch监视器的使用 052
6.4 程序常见错误 053
6.4.1 错误类型 053
6.4.2 错误解决 053
6.5 任务练习 054
小结 054 第7章 函数 055
7.1 概述 055
7.2 函数使用入门 055
7.2.1 定义函数 055
7.2.2 调用函数 056
7.3 深入理解函数作用 056
7.3.1 封装重复性代码 056
7.3.2 实现某种功能 057
7.4 函数参数 058
7.4.1 参数的作用 058
7.4.2 形参 058
7.4.3 实参 059
7.5 带参数的函数调用的说明 059
7.5.1 形参和实参个数一样 059
7.5.2 实参个数多于形参个数 060
7.5.3 实参个数少于形参个数 060
7.5.4 arguments对象 060
7.5.5 length属性 061
7.5.6 arguments和length对比 061
7.6 函数的返回值 061
7.7 作用域 062
7.7.1 概述 062
7.7.2 全局作用域 062
7.7.3 局部作用域 062
7.7.4 全局变量 063
7.7.5 局部变量 063
7.7.6 作用域链 064
7.8 提升机制 065
7.8.1 函数表达式 065
7.8.2 问题引入及提升机制概述 066
7.8.3 变量提升 067
7.8.4 函数提升 067
7.9 高阶函数 068
7.9.1 概述 068
7.9.2 函数作为参数 068
7.9.3 函数作为返回值 068
7.10 立即执行函数 069
7.11 任务练习 069
小结 069 第8章 面向对象 071
8.1 概述 071
8.2 创建对象的方式 072
8.2.1 new Object方式 072
8.2.2 字面量方式 073
8.2.3 工厂函数方式 073
8.2.4 构造函数方式 074
8.3 原型prototype 076
8.3.1 构造函数创建对象问题引入 076
8.3.2 原型的使用 077
8.4 原型继承 078
8.4.1 概述 078
8.4.2 透彻理解原型继承 079
8.5 原型链 080
8.5.1 问题引入 080
8.5.2 原型对象中的__proto__ 081
8.5.3 Object原型对象的作用 081
8.5.4 Object原型对象中的__proto__ 082
8.6 this关键字理解 083
8.6.1 全局性普通函数中的this 083
8.6.2 构造函数中的this 083
8.6.3 对象方法中的this 083
8.6.4 原型对象方法中的this 084
8.7 继承 084
8.7.1 对象冒充 085
8.7.2 call/apply方式 086
8.7.3 扩展Object类 087
8.7.4 原型方式 089
8.8 常用的内置对象 090
8.8.1 Math对象 090
8.8.2 字符串对象 091
8.8.3 日期对象 092
8.8.4 数组对象 093
8.8.5 布尔对象 097
8.8.6 数字对象 097
8.9 正则表达式 098
8.9.1 说明 098
8.9.2 概述 098
8.9.3 使用正则表达式 099
8.9.4 边界符 099
8.9.5 范围 100
8.9.6 量词 100
8.9.7 括号的使用 101
8.9.8 元字符 102
8.9.9 修饰符 102
8.9.10 字符串在正则表达式中的使用 102
8.10 经典案例 103
8.10.1 统计每个字符的个数 103
8.10.2 随机点名 103
8.10.3 倒计时 104
8.10.4 获取文件扩展名 104
8.10.5 对象转换为请求参数格式字符串 105
8.10.6 扩展Array对象 105
8.10.7 扩展String对象 106
8.10.8 计算长方形面积 106
8.10.9 遍历对象 107
小结 107 第9章 DOM操作 108
9.1 概述 108
9.2 DOM节点 109
9.2.1 节点属性 109
9.2.2 文档节点 110
9.2.3 元素节点 110
9.2.4 属性节点 110
9.2.5 文本节点 110
9.3 获取元素及内容操作 110
9.3.1 根据id获取元素 111
9.3.2 根据标签名获取元素 111
9.3.3 根据name获取元素 111
9.3.4 根据类名获取元素 112
9.3.5 根据选择器获取元素 112
9.3.6 获取和设置元素内容操作 113
9.4 属性操作 114
9.4.1 事件属性 114
9.4.2 获取内置属性 114
9.4.3 设置内置属性 115
9.4.4 获取自定义属性 115
9.4.5 设置自定义属性 116
9.4.6 H5自定义属性的规范 116
9.4.7 移除属性 117
9.4.8 表单属性 118
9.5 样式操作 118
9.5.1 行内样式操作 118
9.5.2 类名样式操作 119
9.6 节点操作 120
9.6.1 获取父节点 121
9.6.2 获取子节点 121
9.6.3 获取兄弟节点 122
9.6.4 创建及添加节点 123
9.6.5 删除节点 123
9.6.6 复制节点 124
9.6.7 创建及设置属性节点 125
9.7 DOM事件 125
9.7.1 概述 125
9.7.2 注册事件 126
9.7.3 删除事件 127
9.7.4 事件流 128
9.7.5 事件对象 131
9.7.6 阻止事件冒泡 132
9.7.7 阻止事件默认行为 132
9.7.8 事件委派 134
9.7.9 窗口事件 135
9.7.10 鼠标事件 136
9.7.11 键盘事件 138
9.7.12 表单事件 139
9.8 经典案例 140
9.8.1 简易版新闻评论 140
9.8.2 简易版新闻评论升级版 140
9.8.3 全选案例 142
9.8.4 隔行变色效果 143
小结 144 第10章 BOM操作 145
10.1 概述 145
10.2 window对象 145
10.2.1 概述 145
10.2.2 警告框 146
10.2.3 确认框 146
10.2.4 提示框 147
10.2.5 打开窗口 147
10.2.6 关闭窗口 148
10.3 location对象 148
10.3.1 概述 148
10.3.2 重新加载页面 148
10.3.3 跳转其他页面 149
10.3.4 新页面替换当前页面 149
10.4 history对象 149
10.4.1 概述 149
10.4.2 常用方法 150
10.5 navigator对象 150
10.5.1 概述 150
10.5.2 检测浏览器类型 150
10.6 定时器 151
10.6.1 概述 151
10.6.2 启动延时定时器 151
10.6.3 取消延时定时器 151
10.6.4 启动间隔定时器 152
10.6.5 取消间隔定时器 152
10.7 经典案例 153
10.7.1 显示时钟 153
10.7.2 显示和隐藏切换 153
10.7.3 实现文本框内容校验 154
10.7.4 模拟发送验证码 155
小结 155 第11章 JavaScript高级篇 156
11.1 严格模式 156
11.1.1 概述 156
11.1.2 开启严格模式 156
11.1.3 整个脚本文件的严格模式 157
11.1.4 特定函数的严格模式 157
11.1.5 严格模式的使用影响 157
11.2 改变函数内this的指向 159
11.2.1 bind方式 160
11.2.2 call/apply/bind的总结 161
11.3 对象增强 161
11.3.1 Object.define Property() 162
11.3.2 Object.define Properties() 165
11.3.3 Object.keys() 166
11.3.4 Object.is() 167
11.3.5 Object.assign() 167
11.3.6 Object.create() 169
11.4 JavaScript的内存管理 170
11.4.1 概述 170
11.4.2 栈内存 170
11.4.3 堆内存 171
11.4.4 基本数据类型传参 172
11.4.5 引用数据类型传参 173
11.4.6 值传递和引用传递 174
11.4.7 垃圾回收 174
11.4.8 引用计数算法 175
11.4.9 标记清除算法 176
11.4.10 内存泄漏 176
11.5 闭包 179
11.5.1 案例思考 179
11.5.2 概述 181
11.5.3 闭包的实现原理 181
11.5.4 闭包的生命周期 183
11.5.5 闭包的应用 183
11.6 浅拷贝和深拷贝 184
11.6.1 引用赋值 185
11.6.2 浅拷贝 186
11.6.3 深拷贝 190
11.7 JSON 192
11.7.1 概述 192
11.7.2 对象结构 192
11.7.3 数组结构 193
11.7.4 区分JSON和JavaScript对象 193
11.7.5 JavaScript对象和JSON相互转换 194
11.7.6 JSON使用时的注意事项 194
11.8 常见算法 195
11.8.1 冒泡排序 195
11.8.2 选择排序 196
11.8.3 二分法查找 197
11.8.4 递归 198
11.9 防抖和节流 199
11.9.1 防抖 199
11.9.2 节流 201
11.9.3 防抖和节流的对比 204
11.10 WebStorage存储方案 204
11.10.1 概述 204
11.10.2 分类 204
11.10.3 localStorage 205
11.10.4 sessionStorage 205
11.10.5 自定义工具类封装 206
11.11 经典案例 207
11.11.1 Vue2响应式原理简单实现 207
11.11.2 递归实现深拷贝 209
小结 210 第12章 ES6新特性 211
12.1 概述 211
12.1.1 为什么要学习ES6 211
12.1.2 ECMAScript的历史 211
12.1.3 ECMAScript和JavaScript的关系 212
12.1.4 结束语 212
12.2 变量和常量 212
12.2.1 var定义变量的问题 212
12.2.2 let 213
12.2.3 const 214
12.3 字符串扩展 215
12.3.1 新增方法 215
12.3.2 模板字符串 216
12.3.3 其他方法扩展说明 217
12.4 变量的解构赋值 217
12.4.1 对象解构 217
12.4.2 数组解构 218
12.4.3 函数参数列表中的解构赋值 218
12.4.4 复杂对象的解构 219
12.5 函数扩展 219
12.5.1 剩余参数 219
12.5.2 函数参数默认值 219
12.6 箭头函数 220
12.6.1 箭头函数的写法 220
12.6.2 箭头函数的参数说明 221
12.6.3 箭头函数的函数体说明 221
12.6.4 箭头函数中的this 222
12.6.5 箭头函数的注意事项 223
12.7 简化对象写法 223
12.7.1 对象的变量属性简写 223
12.7.2 对象的函数属性简写 224
12.8 数组对象的方法扩展 224
12.8.1 find方法 224
12.8.2 findIndex方法 225
12.8.3 of方法 225
12.8.4 from方法 225
12.9 展开运算符 226
12.9.1 数组展开 226
12.9.2 对象展开 227
12.10 class类 228
12.10.1 定义类 228
12.10.2 类的构造方法 229
12.10.3 实例对象的方法 230
12.10.4 静态属性和静态方法 230
12.10.5 继承 231
12.11 Set 233
12.11.1 概述 233
12.11.2 创建Set集合 233
12.11.3 常用方法和属性 233
12.11.4 遍历方式 234
12.12 Map 235
12.12.1 概述 235
12.12.2 创建Map集合 235
12.12.3 常用方法和属性 236
12.12.4 遍历方式 237
12.12.5 使用Map计算字符个数 238
小结 238 第13章 Promise异步编程 240
13.1 概述 240
13.2 JavaScript异步编程的实现 240
13.2.1 为什么JavaScript是单线程 240
13.2.2 JavaScript如何实现异步编程 241
13.3 回调函数 242
13.3.1 说明 242
13.3.2 事件处理程序 242
13.3.3 延迟计时器 243
13.3.4 回调函数再理解 243
13.3.5 回调地狱 244
13.4 Promise 244
13.4.1 概述 245
13.4.2 Promise对象的语法 245
13.4.3 Promise对象的属性和方法 246
13.4.4 Promise的认识误区 246
13.4.5 Promise的三种状态 247
13.4.6 Promise的结果 248
13.4.7 then方法详解 249
13.4.8 catch方法详解 255
13.4.9 其他方法 257
13.5 async关键字 257
13.5.1 概述 257
13.5.2 异步函数 257
13.6 await关键字 258
13.6.1 概述 258
13.6.2 案例 258
小结 259 第14章 模块化 260
14.1 传统开发的弊端 260
14.1.1 命名冲突 260
14.1.2 文件依赖 260
14.2 生活中的模块化 261
14.3 ES6模块化概述 261
14.4 模块化开发 262
14.4.1 导出变量和常量 262
14.4.2 导出函数 262
14.4.3 导出类 263
14.4.4 导出时别名的使用 263
14.4.5 导入时别名的使用 264
14.4.6 一次性导入 265
14.4.7 default默认导出 265
14.4.8 命名导出和默认导出混合使用 266
14.5 动态引入模块 267
14.5.1 需求 267
14.5.2 import()表达式 267
14.5.3 动态引入模块的使用场景 268
小结 268
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8