![]()
内容推荐 为什么每次遇到JavaScript问题都要从头思索一番呢?这本经典实例充满各种常见编程任务的秘籍,还有构建可在任何浏览器中运行的应用所需的技术。本书给出的代码示例几乎可以直接用到任何项目中,而且你将学到更多的JavaScript知识。 书中的经典实例使用ECMAScript 2020及后续版本的最新特性,而且使用现代JavaScript编程标准。阅读本书将学到以下知识。 设置一个高效的开发环境,包含代码编辑器、lint程序和测试服务器。 提高对JavaScript函数的理解,包括箭头句法、闭包和生成器。 运用面向对象编程概念,例如类和继承。 在JavaScript中处理富媒体,包括音频、视频和SVG。 处理HTML标记和CSS样式。 借助Node.js在任何地方使用JavaScript。 使用REST、GraphQL和fetch访问及处理远程数据。 上手使用流行的应用构建框架Express。 使用promise、async/await和Web职程执行异步操作。 作者简介 亚当·D.斯科特(Adam D.Scott)生活在美国康涅狄格州,是一名工程经理、Web开发者和教育工作者。他目前在美国消费者金融保护局担任Web开发主管,与才华横溢的团队一起专注于构建开源Web应用。他从事教育工作已经十多年,经历了很多技术变革。他教授和编写了一系列技术课程。 目录 前言 第一部分 JavaScript 语言 第1章 搭建开发环境 1.1 选择代码编辑器 1.2 使用浏览器中的开发者控制台 1.3 在开发者控制台中运行代码块 1.4 使用严格模式捕获常见错误 1.5 使用Emmet 快捷键填充HTML 样板代码 1.6 安装npm 包管理器(及 Node.js) 1.7 使用npm 下载包 1.8 使用npm 更新包 1.9 设置本地测试服务器 1.10 使用lint 工具实施代码标准 1.11 使用格式化工具保持代码风格一致 1.12 在JavaScript Playground 中试验 第2章 字符串和正则表达式 2.1 检查字符串存在,不为空 2.2 把数值转换为格式化字符串 2.3 插入特殊字符 2.4 插入表情符号 2.5 使用模板字面量简化字符串拼接 2.6 不区分大小写比较字符串 2.7 检查字符串中是否包含指定的子串 2.8 替换字符串出现的每一处 2.9 把HTML 标签替换为具名实体 2.10 使用正则表达式替换字符串中的模式 2.11 从字符串中提取列表 2.12 查找满足模式的所有内容 2.13 删除字符串头尾的空白 2.14 把字符串的第一个字母转换为大写 2.15 验证电子邮件地址 第3章 数字 3.1 生成随机数 3.2 生成密码学上安全的随机数 3.3 四舍五入到指定的小数位 3.4 保留小数的精确度 3.5 把字符串转换成数字 3.6 把十进制转换成十六进制 3.7 角度和弧度互相转换 3.8 计算圆弧的长度 3.9 使用BigInt 处理特别大的数 第4章 日期 4.1 获取当前日期和时间 4.2 把字符串转换成日期 4.3 在日期上增加天数 4.4 比较日期及测试日期是否相同 4.5 计算两个日期之间的时间间隔 4.6 把日期值格式化为字符串 第5章 数组 5.1 检查一个对象是不是数组 5.2 迭代数组中的所有元素 5.3 检查两个数组是否相等 5.4 把数组拆散成单独的变量 5.5 把数组传给接受一组值的函数 5.6 克隆数组 5.7 合并两个数组 5.8 按位置复制数组的一部分 5.9 提取符合指定条件的数组元素 5.10 清空数组 5.11 去除重复的值 5.12 展平二维数组 5.13 在数组中搜索完全匹配的元素 5.14 在数组中搜索满足指定条件的元素 5.15 删除或替换数组元素 5.16 按属性值排序对象数组 5.17 变换数组中的每一个元素 5.18 一次计算合并数组中的全部值 5.19 验证数组内容 5.20 创建没有重复值的集合 5.21 创建使用键索引的元素集合 第6章 函数 6.1 把一个函数作为参数传给另一个函数 6.2 使用箭头函数 6.3 为参数提供默认值 6.4 定义接受无限参数的函数 6.5 使用具名函数参数 6.6 定义在闭包中存储状态的函数 6.7 定义可产出多个值的生成器函数 6.8 使用部分应用技术减少冗余 6.9 使用函数绑定修正this 6.10 实现递归算法 第7章 对象 7.1 检查对象的类型 7.2 使用对象字面量打包数据 7.3 检查对象中有没有某个属性 7.4 迭代对象的所有属性 7.5 测试空对象 7.6 合并两个对象的属性 7.7 定制定义属性的方式 7.8 阻止修改对象 7.9 使用代理截取并改变对象上的操作 7.10 克隆对象 7.11 深拷贝对象 7.12 创建绝对唯一的对象属性键 7.13 使用Symbol 创建枚举 第8章 类 8.1 创建一个可重用的类 8.2 为类添加属性 8.3 为类提供更好的字符串表示形式 8.4 使用构造函数模式自定义类 8.5 让类中的方法支持串联 8.6 为类添加静态方法 8.7 使用静态方法创建对象 8.8 从其他类继承功能 8.9 使用模块组织JavaScript 类 第9章 异步编程 9.1 在循环中更新页面 9.2 使用返回promise 的函数 9.3 改造基于回调的异步函数,使用promise 9.4 并发执行多个promise 9.5 使用await 和async 等待promise 结束 9.6 创建异步生成器函数 9.7 使用Web 职程执行后台任务 9.8 为Web 职程添加进度支持 第10章 错误和测试 10.1 捕获并压制错误 10.2 捕获不同类型的错误 10.3 捕获异步错误 10.4 检测未处理的错误 10.5 抛出标准错误 10.6 抛出自定义错误 10.7 为代码编写单元测试 10.8 跟踪测试代码覆盖率 第二部分 浏览器中的JavaScript 第11章 浏览器工具 11.1 调试JavaScript 11.2 分析运行时性能 11.3 找出未使用的JavaScript 代码 11.4 使用Lighthouse 衡量最佳实践 第12章 处理HTML 12.1 获取指定的元素,查找它的父元素和子元素 12.2 使用forEach() 遍 |