计算机
类型
可以朗读
语音朗读
181千字
字数
2023-04-01
发行日期
展开全部
主编推荐语
JavaScript学习的必备书籍。
内容简介
本书采用ES5和ES6融合的方式编写,兼顾了主流应用和发展趋势,书中知识点结合实际开发讲解演示。
本书从JavaScript的历史开始讲解,由浅入深地带领读者逐渐走入JavaScript的世界。
本书内容包括:变量、基本数据类型、运算符和表达式、语句、函数、对象、数组、BOM、DOM、AJAX、异步编程及ES6语法等。
本书语言通俗易懂,案例贴近实际工作需求,内容全面,深入浅出地讲解了前端开发需掌握的知识点。与此同时,本书还对一些底层实现进行了介绍,让读者在阅读完本书之后对JavaScript有更深入的理解。
目录
- 版权信息
- 内容简介
- 前言
- 关于我们
- 第1章 走进JavaScript世界
- 1.1 JavaScript是什么
- 1.2 JavaScript的历史
- 1.3 JavaScript与Java无关
- 1.4 JavaScript的应用场景
- 1.5 JavaScript的不同实现
- 1.5.1 ECMAScript
- 1.5.2 BOM
- 1.5.3 DOM
- 1.5.4 Node.js
- 1.6 JavaScript的重要版本
- 1.7 编写第一行JavaScript代码
- 1.7.1 编程工具
- 1.7.2 代码编写位置
- 1.7.3 代码注释
- 1.7.4 空格与分号
- 1.7.5 程序调试
- 1.8 严格模式
- 1.9 本章小结
- 第2章 变量
- 2.1 var声明
- 2.1.1 var声明作用域
- 2.1.2 var声明提升
- 2.2 let声明
- 2.2.1 let声明的块作用域
- 2.2.2 暂时性死区
- 2.3 const声明
- 2.4 变量声明的最佳实践
- 2.5 变量的命名规范
- 2.6 案例:如何交换两个变量的值
- 2.7 本章小结
- 第3章 基本数据类型
- 3.1 使用typeof检测数据类型
- 3.2 Number类型
- 3.2.1 认识Number类型
- 3.2.2 Infinity和-Infinity
- 3.2.3 多种进制
- 3.2.4 特殊数值NaN
- 3.3 String类型
- 3.3.1 认识String类型
- 3.3.2 模板字符串
- 3.3.3 特殊字符
- 3.4 Boolean类型
- 3.5 Undefined类型
- 3.6 Null类型
- 3.7 BigInt类型
- 3.8 显式类型转换
- 3.8.1 将其他类型值转换为Number类型
- 3.8.2 将其他类型值转换为String类型
- 3.8.3 将其他类型值转换为Boolean类型
- 3.9 隐式类型转换
- 3.10 手动类型转换
- 3.11 案例:小小加法计算器
- 3.12 本章小结
- 第4章 运算符和表达式
- 4.1 算术运算符
- 4.1.1 加、减法运算符
- 4.1.2 乘、除法运算符
- 4.1.3 取余运算符
- 4.1.4 案例:计算一个三位数各个数位上的数字的总和
- 4.2 赋值运算符
- 4.2.1 二元赋值运算符
- 4.2.2 一元赋值运算符
- 4.3 比较运算符
- 4.3.1 大于运算符和小于运算符
- 4.3.2 等于运算符和不等于运算符
- 4.4 逻辑运算符
- 4.4.1 非运算
- 4.4.2 且运算
- 4.4.3 或运算
- 4.4.4 短路现象
- 4.4.5 案例:数轴上的范围表示
- 4.5 条件运算符
- 4.6 其他运算符
- 4.7 运算符优先级
- 4.7.1 数学运算符的优先级
- 4.7.2 逻辑运算符的优先级
- 4.7.3 综合运算优先级
- 4.8 本章小结
- 第5章 语句
- 5.1 条件语句之if语句
- 5.1.1 单分支if语句和双分支if语句
- 5.1.2 多分支if语句
- 5.1.3 if语句的嵌套
- 5.1.4 案例:考试成绩分档
- 5.2 条件语句之switch语句
- 5.2.1 基本语法
- 5.2.2 案例:判断某月份有多少天
- 5.3 循环语句之for循环
- 5.3.1 基本语法
- 5.3.2 案例:使用for循环输出年份和年龄
- 5.4 循环语句之while循环
- 5.4.1 基本语法
- 5.4.2 案例:使用while循环输出年份和年龄
- 5.5 循环语句之do…while循环
- 5.5.1 基本语法
- 5.5.2 案例:生成不都为0的随机数
- 5.6 跳转
- 5.6.1 break
- 5.6.2 continue
- 5.6.3 区分while和do…while
- 5.7 循环嵌套
- 5.8 本章小结
- 第6章 函数(上)
- 6.1 函数的定义与调用
- 6.2 函数封装练习
- 6.3 函数参数相关
- 6.3.1 参数默认值
- 6.3.2 剩余参数
- 6.4 作用域
- 6.5 作用域链
- 6.6 箭头函数
- 6.6.1 箭头函数的语法使用
- 6.6.2 箭头函数的特性
- 6.7 本章小结
- 第7章 对象
- 7.1 创建对象
- 7.1.1 new Object()
- 7.1.2 对象字面量
- 7.1.3 new自定义构造函数
- 7.1.4 Object.create()
- 7.2 ES6新增对象书写格式
- 7.2.1 属性和方法的简写
- 7.2.2 属性名表达式
- 7.3 操作对象的属性和方法
- 7.3.1 点操作符和中括号操作符
- 7.3.2 新增属性
- 7.3.3 修改属性
- 7.3.4 读取属性
- 7.3.5 删除属性
- 7.3.6 定义getter和setter的属性
- 7.4 原型与原型链
- 7.4.1 原型
- 7.4.2 原型链
- 7.4.3 instanceof原理分析
- 7.5 内置引用类型和对象
- 7.5.1 String类型
- 7.5.2 Number类型
- 7.5.3 Boolean类型
- 7.5.4 Date类型
- 7.5.5 RegExp类型
- 7.5.6 Math对象
- 7.6 本章小结
- 第8章 函数(下)
- 8.1 IIFE
- 8.2 arguments
- 8.2.1 伪(类)数组
- 8.2.2 arguments的使用
- 8.3 回调函数
- 8.3.1 内置的回调函数
- 8.3.2 自定义回调函数
- 8.4 函数递归
- 8.5 函数中的this
- 8.6 函数也是对象
- 8.7 函数对象的方法
- 8.7.1 call()方法
- 8.7.2 apply()方法
- 8.7.3 bind()方法
- 8.7.4 案例:伪数组转数组
- 8.8 预解析
- 8.8.1 变量提升与函数提升
- 8.8.2 执行上下文与执行上下文栈
- 8.9 闭包
- 8.10 内存管理
- 8.10.1 内存的生命周期
- 8.10.2 垃圾回收
- 8.10.3 内存泄漏与内存溢出
- 8.11 本章小结
- 第9章 数组
- 9.1 数组的概念
- 9.2 数组的基本操作
- 9.2.1 创建数组
- 9.2.2 添加元素
- 9.2.3 遍历数组
- 9.2.4 更新元素
- 9.2.5 删除元素
- 9.3 数组的其他常用方法
- 9.3.1 concat()方法和slice()方法
- 9.3.2 reverse()方法和sort()方法
- 9.3.3 find()方法和findIndex()方法
- 9.3.4 map()方法
- 9.3.5 reduce()方法
- 9.3.6 every()方法和some()方法
- 9.3.7 splice()方法
- 9.4 多维数组
- 9.5 实战案例:冒泡排序
- 9.6 Array的静态方法
- 9.6.1 Array.isArray()方法
- 9.6.2 Array.from()方法
- 9.6.3 Array.of()方法
- 9.7 实战案例:取出数组的最大值和最小值
- 9.8 本章小结
- 第10章 BOM
- 10.1 window对象
- 10.1.1 全局作用域
- 10.1.2 访问客户端对象
- 10.1.3 使用系统对话框
- 10.1.4 打开窗口和关闭窗口
- 10.1.5 超时调用和间歇调用
- 10.2 navigator对象
- 10.2.1 navigator概念
- 10.2.2 浏览器检测方法
- 10.2.3 操作系统检测方法
- 10.3 location对象
- 10.4 history对象
- 10.5 本章小结
- 第11章 DOM
- 11.1 DOM的版本
- 11.2 节点
- 11.2.1 节点关系
- 11.2.2 节点种类
- 11.2.3 节点类型、名称、值
- 11.3 节点的操作之访问节点
- 11.3.1 获取元素基础方法
- 11.3.2 selectors API
- 11.3.3 selectors API和传统方法的比较
- 11.3.4 节点关系中访问元素节点的方法
- 11.3.5 其他获取节点方法
- 11.4 节点的操作之增、删、改操作
- 11.4.1 创建节点
- 11.4.2 创建文本节点
- 11.4.3 插入节点
- 11.4.4 复制节点
- 11.4.5 删除节点
- 11.4.6 替换节点
- 11.5 属性节点
- 11.5.1 属性分类
- 11.5.2 传统属性操作
- 11.5.3 HTML5自定义属性操作
- 11.5.4 案例:字号变大
- 11.6 文本节点
- 11.6.1 innerHTML和innerText
- 11.6.2 textContent
- 11.7 脚本化CSS
- 11.7.1 元素大小
- 11.7.2 元素位置
- 11.7.3 设置与获取元素样式
- 11.7.4 元素的类名操作
- 11.8 文档碎片节点
- 11.9 本章小结
- 第12章 DOM编程之事件
- 12.1 DOM事件流
- 12.1.1 事件冒泡
- 12.1.2 事件捕获
- 12.1.3 标准(混合)型
- 12.2 绑定事件监听
- 12.2.1 HTML事件监听绑定
- 12.2.2 DOM0事件监听绑定
- 12.2.3 DOM2与DOM3事件监听绑定
- 12.2.4 IE事件监听绑定
- 12.3 JavaScript常用事件
- 12.3.1 获取焦点和失去焦点
- 12.3.2 点击事件
- 12.3.3 键盘事件
- 12.3.4 表单事件
- 12.3.5 鼠标事件
- 12.3.6 滚动条事件
- 12.3.7 加载事件
- 12.3.8 滚轮事件
- 12.4 event对象
- 12.5 事件的三个特别处理
- 12.5.1 停止事件冒泡
- 12.5.2 阻止事件默认行为
- 12.5.3 事件委托
- 12.6 本章小结
- 第13章 AJAX
- 13.1 相关理解
- 13.2 JSON
- 13.2.1 JSON数据格式
- 13.2.2 JSON对象
- 13.3 XMLHttpRequest对象
- 13.3.1 XMLHttpRequest对象介绍
- 13.3.2 XMLHttpRequest level2
- 13.3.3 发送请求相关操作
- 13.3.4 处理响应相关操作
- 13.3.5 进度事件
- 13.3.6 请求超时和终止请求
- 13.3.7 封装ajax()请求函数
- 13.4 跨域
- 13.4.1 JSONP解决跨域问题
- 13.4.2 CORS解决跨域问题
- 13.5 本章小结
- 第14章 异步编程
- 14.1 相关理解
- 14.1.1 单线程与多线程
- 14.1.2 同步与异步
- 14.2 传统异步回调
- 14.2.1 理解
- 14.2.2 回调地狱问题
- 14.3 异步Promise
- 14.3.1 理解
- 14.3.2 使用Promise
- 14.3.3 Promise的链式调用
- 14.3.4 Promise的静态方法
- 14.4 事件循环机制
- 14.4.1 图解事件循环的基本流程
- 14.4.2 宏队列与微队列
- 14.5 本章小结
- 第15章 ES6的其他常用新特性
- 15.1 ES6学习指南
- 15.2 解构赋值
- 15.2.1 对象解构
- 15.2.2 数组解构
- 15.3 对象的扩展
- 15.3.1 Object.is()
- 15.3.2 Object.assign()
- 15.4 Symbol类型
- 15.5 迭代器与for…of循环
- 15.6 扩展运算符
- 15.7 Set结构与Map结构
- 15.7.1 Set
- 15.7.2 Map
- 15.8 Proxy与Reflect
- 15.9 本章小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。