3.7 用户推荐指数
计算机
类型
6.1
豆瓣评分
可以朗读
语音朗读
140千字
字数
2020-07-01
发行日期
展开全部
主编推荐语
零基础了解JavaScript语法要点,彩色代码图展现ES6和ES10的重要特性。
内容简介
本书包含大量精心绘制的示意图和丰富的示例代码,讲解了常用的JavaScript语法特性,为JavaScript初学者绘制了一条平缓的学习曲线。
本书涵盖原生数据类型、强制类型转换、作用域、闭包、运算符、面向对象编程、事件循环机制等内容。这些内容由浅入深,适合初学者按顺序阅读。本书还突出了ES10引入的一些新特性,便于有进阶需要的读者翻阅。
目录
- 版权信息
- 版权声明
- 前言
- 第1章 讲述形式
- 1.1 理论
- 1.2 实例
- 1.3 代码清单
- 1.4 示意图
- 1.4.1 抽象概念
- 1.4.2 代码片段
- 1.5 主要内容
- 1.6 注意事项
- 第2章 Chrome控制台
- 2.1 copy函数
- 2.2 console.dir
- 2.3 console.error
- 2.4 console.time和console.timeEnd
- 2.5 console.clear
- 2.6 打印对象
- 第3章 欢迎使用JavaScript
- 3.1 入口点
- 3.1.1 DOMContentLoaded
- 3.1.2 注意事项
- 3.1.3 导入外部脚本
- 3.1.4 导入与导出
- 3.2 严格模式
- 3.2.1 对一个作用域开启严格模式
- 3.2.2 严格模式小结
- 3.3 字面量
- Number(1)与newNumber(1)
- 3.4 变量
- 3.4.1 值占位符
- 3.4.2 动态类型
- 3.4.3 定义或声明
- 3.5 引用传递
- 3.6 作用域的怪癖
- 3.6.1 怪癖1:函数内的let和const与全局变量
- 3.6.2 怪癖2:var依附于window/this对象,而let和const不会
- 第4章 语句
- 4.1 求值语句
- 4.2 表达式
- 第5章 基本类型
- 5.1 基本类型
- 5.1.1 boolean
- 5.1.2 null
- 5.1.3 undefined
- 5.1.4 number
- 5.1.5 bigint
- 5.1.6 string
- 5.2 模板字符串
- 富有创造性的用例
- 5.3 symbol
- 全局symbol注册表
- 5.4 构造函数和实例
- 5.5 对基本类型执行方法
- 5.5.1 使用括号访问对象属性
- 5.5.2 连接方法
- 第6章 强制类型转换
- 6.1 强制类型转换示例
- 6.1.1 构造函数中的强制类型转换
- 6.1.2 强制类型转换详解
- 6.2 多个值相加
- 6.3 运算符优先级
- 6.4 字符串与数值的比较
- 6.5 运算符优先级和结合性一览表
- 6.6 左值和右值
- 6.6.1 赋值运算符
- 6.6.2 算术加法运算符
- 6.7 null与undefined
- 初始化或更新
- 第7章 作用域
- 7.1 变量定义
- 7.1.1 区分大小写
- 7.1.2 定义
- 7.2 变量提升
- 7.3 函数提升
- 在函数作用域中定义变量
- 7.4 变量类型
- 7.5 作用域可见性的区别
- 7.5.1 在全局作用域中
- 7.5.2 在函数作用域中
- 7.5.3 闭包
- 7.5.4 在块级作用域中
- 7.5.5 在类中
- 7.6 const
- 7.6.1 const和数组
- 7.6.2 const和对象字面量
- 7.6.3 const小结
- 7.7 注意事项
- 第8章 运算符
- 8.1 算术运算符
- 8.2 赋值运算符
- 8.3 字符串运算符
- 8.4 比较运算符
- 8.5 逻辑运算符
- 8.6 位运算符
- 8.7 typeof运算符
- 8.8 三元运算符
- 8.9 delete
- 8.10 in
- 第9章 ...rest和...spread
- 9.1 rest属性
- 9.2 spread属性
- 9.3 ...rest和...spread
- 9.3.1 语法详解
- 9.3.2 编写带rest参数的sum()函数
- 9.3.3 使用spread来扁平化数组
- 9.3.4 在数组、对象或函数参数之外使用spread
- 9.4 解构赋值
- 9.4.1 使用spread合并对象
- 9.4.2 使用spread合并数组
- 第10章 闭包
- 10.1 闭包入门
- 10.1.1 什么是闭包
- 10.1.2 漂亮的闭包
- 10.1.3 闭包小结
- 10.2 参数个数
- 10.3 柯里化
- 第11章 循环
- 11.1 JavaScript中的循环类型
- 11.1.1 递增和递减
- 11.1.2 动态生成HTML元素
- 11.1.3 渲染列表
- 11.1.4 动态排序的表格
- 11.1.5 注意事项
- 11.2 for循环
- 11.2.1 基于零索引的计数器
- 11.2.2 无限for循环
- 11.2.3 多条语句
- 11.2.4 递增数字
- 11.2.5 for循环和let作用域
- 11.2.6 嵌套for循环
- 11.2.7 循环的长度
- 11.2.8 跳步
- 11.2.9 提前中断
- 11.2.10 自定义中断条件
- 11.2.11 跳转到标签
- 11.2.12 跳出标记的块级作用域
- 11.3 for...of循环
- 11.3.1 for...of和生成器
- 11.3.2 for...of和字符串
- 11.3.3 for...of和数组
- 11.3.4 for...of和对象
- 11.3.5 for...of循环和转换的可迭代对象
- 11.4 for...in循环
- 11.5 while循环
- while和continue
- 第12章 数组和字符串
- 12.1 Array.prototype.sort
- 12.2 Array.forEach
- 12.3 Array.every
- 12.4 Array.some
- 12.5 Array.filter
- 12.6 Array.map
- 12.7 Array.reduce
- 12.7.1 Array.reduce与Array.filter
- 12.7.2 更新数据库中的对象属性
- 12.7.3 reduce的实际应用
- 12.7.4 注意事项
- 12.8 Array.flat
- 12.9 Array.flatMap
- 12.10 String.prototype.matchAll
- 12.10.1 使用全局匹配符/g
- 12.10.2 正则表达式的捕获组
- 12.10.3 使用matchAll的理由
- 12.10.4 matchAll的工作方式
- 12.10.5 使用matchAll的捕获组示例
- 12.10.6 注意事项
- 12.11 比较两个对象
- 12.11.1 编写arrcmp
- 12.11.2 改进objcmp
- 12.11.3 针对更复杂的对象测试objcmp
- 12.11.4 objcmp小结
- 第13章 函数
- 13.1 函数
- 13.1.1 函数结构
- 13.1.2 匿名函数
- 13.1.3 将函数赋给变量
- 13.2 this关键字的来源
- 第14章 高阶函数
- 14.1 理论
- 14.1.1 抽象
- 14.1.2 编写第一个高阶函数
- 14.2 定义
- 14.3 抽象
- 14.4 迭代器
- 14.4.1 逐行解析map函数
- 14.4.2 调用自定义的map函数
- 14.4.3 调用Array.map
- 14.4.4 for循环怎么了
- 14.5 注意事项
- 第15章 箭头函数
- 15.1 箭头函数
- 15.1.1 无return的返回
- 15.1.2 作为事件的箭头函数
- 15.2 箭头函数的结构
- 15.2.1 实参
- 15.2.2 从箭头函数返回
- 15.3 ES风格函数的相似性
- 15.3.1 无this绑定
- 15.3.2 无arguments对象
- 15.3.3 无构造函数
- 15.3.4 传统函数和箭头函数用作事件回调函数
- 15.3.5 继承的this语境
- 第16章 动态创建HTML元素
- 16.1 设置CSS样式
- 16.2 使用appendChild方法向DOM中添加元素
- 16.2.1 document.body
- 16.2.2 getElementById
- 16.2.3 querySelector
- 16.3 编写函数来创建元素
- 16.3.1 函数参数
- 16.3.2 函数体
- 16.3.3 导入并使用absolute函数
- 16.4 使用构造函数来创建对象
- 第17章 原型
- 17.1 原型
- 17.1.1 对象字面量的原型
- 17.1.2 原型链接
- 17.1.3 原型链
- 17.1.4 查找方法
- 17.1.5 数组方法
- 17.2 父对象
- 17.2.1 扩展自己的对象
- 17.2.2 constructor属性
- 17.2.3 Function
- 17.3 原型实践
- 17.3.1 对象字面量
- 17.3.2 使用Function构造函数
- 17.3.3 原型
- 17.3.4 使用Object.create来创建对象
- 17.3.5 示例继续
- 17.3.6 构造函数
- 17.3.7 new运算符
- 17.3.8 class关键字
- 第18章 面向对象编程
- 18.1 Ingredient
- 18.2 FoodFactory
- 18.3 Vessel
- 18.4 Burner
- 18.5 灶台类型与多态炉灶
- 多态
- 18.6 类定义
- 18.6.1 print.js
- 18.6.2 Ingredient
- 18.6.3 FoodFactory
- 18.6.4 Fridge
- 18.6.5 convert_energy_to_heat
- 18.6.6 Vessel
- 18.6.7 Burner
- 18.6.8 Range
- 18.7 组装
- 18.7.1 定义成分
- 18.7.2 实例化灶台对象
- 第19章 事件
- 19.1 浏览器事件
- 19.2 合成事件
- 19.2.1 事件对象
- 19.2.2 事件捕获与事件冒泡
- 19.2.3 dispatchEvent
- 19.2.4 removeEventListener
- 19.2.5 CustomEvent对象
- 19.2.6 setTimeout
- 19.2.7 setInterval
- 19.3 拦截浏览器事件
- 19.4 显示鼠标位置
- 19.5 通用的鼠标事件类
- 19.5.1 包含和使用Mouse类
- 19.5.2 解析Mouse类
- 第20章 网络请求
- 20.1 回调地狱
- Sailor API
- 20.2 Promise
- 20.2.1 Promise.resolve
- 20.2.2 Promise.reject
- 20.2.3 组装
- 20.2.4 Promise.all
- 20.2.5 Promise解析
- 20.2.6 Promise小结
- 20.3 axios
- 20.4 Fetch API
- 20.5 获取POST负载
- 20.6 async/await
- 20.6.1 async关键字的基础
- 20.6.2 await
- 20.6.3 async/await中的try-catch
- 20.6.4 小结
- 20.7 生成器
- 20.7.1 yield
- 20.7.2 捕获错误
- 第21章 事件循环
- 第22章 调用栈
- 22.1 什么是调用栈
- 在编码中运用调用栈
- 22.2 执行语境
- 22.2.1 什么是执行语境
- 22.2.2 根执行语境
- 22.2.3 工作方式
- 22.3 代码中的执行语境
- 22.3.1 window与全局作用域
- 22.3.2 调用栈
- 22.3.3 call、bind和apply
- 22.3.4 栈溢出
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。