为你推荐
封面页
书名页
版权页
内容简介
作者简介
前言
第1章 初入JavaScript
1.1 JavaScript简介
1.2 JavaScript起源
1.3 JavaScript实现
1.3.1 ECMAScript
1.3.2 BOM
1.3.3 DOM
1.4 JavaScript使用
1.4.1 内联的JavaScript
1.4.2 外部的JavaScript
1.4.3 行内的JavaScript
第2章 准备工作
2.1 开发工具
2.1.1 Sublime Text
2.1.2 Visual Studio Code
2.1.3 WebStorm
2.1.4 Atom
2.2 Chrome开发者工具
2.2.1 信息类方法
2.2.2 清除历史记录
2.2.3 保留历史记录
第3章 语法
3.1 基本语法
3.1.1 语句
3.1.2 注释
3.1.3 标识符
3.2 变量和变量作用域
3.2.1 变量
3.2.2 声明变量
3.2.3 非声明变量
3.3 数据类型
3.3.1 内存空间
3.3.2 基本数据类型与引用数据类型
3.3.3 浅拷贝与深拷贝
3.3.4 typeof与instanceof
3.3.5 类型转换
3.3.6 基本包装类型
3.4 字符串
3.4.1 字符串的特点
3.4.2 length属性
3.4.3 实例方法
3.5 运算符
3.5.1 算术运算符
3.5.2 逻辑运算符
3.5.3 比较运算符
3.5.4 三元运算符
3.5.5 赋值
3.5.6 位运算符
3.5.7 异步操作符async function
3.5.8 其他运算符
3.5.9 运算符优先级
3.6 条件语句
3.6.1 if语句
3.6.2 switch语句
3.6.3 三元运算符
3.7 循环语句
3.7.1 for
3.7.2 while
3.7.3 for…in
3.7.4 for…of
3.7.5 break和continue语句
3.8 错误处理
3.8.1 try…catch
3.8.2 throw
3.9 严格模式
第4章 函数
4.1 定义
4.1.1 返回值
4.1.2 箭头函数(Arrow Function)
4.1.3 关于this
4.2 函数的属性和方法
4.2.1 length属性
4.2.2 name
4.3 参数
4.3.1 按值传递
4.3.2 arguments
4.3.3 Rest参数(剩余参数)
4.3.4 箭头函数中的arguments对象
4.3.5 默认参数
4.4 递归
4.5 闭包
4.5.1 什么是闭包
4.5.2 实践中的闭包
4.6 IIFE
4.7 高阶函数
4.7.1 回调函数
4.7.2 偏函数
4.7.3 柯里化
4.7.4 纯函数
第5章 数组
5.1 定义
5.2 多维数组
5.3 length属性
5.4 方法
5.4.1 Array.isArray()
5.4.2 Array.of()
5.4.3 Array.from()
5.5 实例方法
5.5.1 concat()
5.5.2 copyWithin()
5.5.3 keys()、values()和entries()
5.5.4 forEach()和map()
5.5.5 every()和some()
5.5.6 filter()
5.5.7 fill()
5.5.8 find()和findIndex()
5.5.9 includes()
5.5.10 indexOf()和lastIndexOf()
5.5.11 join()和splice()
5.5.12 push()、pop()、unshift()和shift()
5.5.13 reduce()和reduceRight()
5.5.14 reverse()
5.5.15 slice()
5.5.16 sort()
5.5.17 toString()
5.5.18 toLocaleString()
第6章 对象
6.1 定义
6.1.1 定义对象的属性
6.1.2 定义对象的方法
6.1.3 getter和setter
6.2 属性
6.2.1 原型及原型链
6.2.2 更好的类型检测
6.2.3 构造函数
6.3 方法
6.3.1 Object.getPrototypeOf()和Object.setPrototypeOf()
6.3.2 Object.create()
6.3.3 Object.assign()
6.3.4 Object.defineProperty()和Object.getOwnPropertyDescriptor()
6.3.5 Object.defineProperties()和Object.getOwnPropertyDescriptors()
6.3.6 Object.keys()、Object.values()和Object.entries()
6.3.7 Object.freeze()和Object.isFrozen()
6.3.8 Object.seal()和Object.isSealed()
6.3.9 Object.preventExtensions()和Object.isExtensible()
6.3.10 Object.is()
6.3.11 Object.getOwnPropertyNames()
6.3.12 Object.getOwnPropertySymbols()
第7章 类
7.1 定义
7.2 constructor
7.2.1 实例化
7.2.2 类的方法
7.2.3 this指向
7.2.4 constructor属性
7.3 继承
7.4 静态方法
第8章 JSON
8.1 简介
8.2 JSON的解析
8.3 JSON的序列化
第9章 BOM
9.1 window
9.1.1 setTimeout
9.1.2 setInterval
9.1.3 定时器的问题
9.2 history
9.2.1 history
9.2.2 ajax的前进后退
9.3 location
9.3.1 assign()和replace()
9.3.2 reload()
9.3.3 属性
9.4 navigator
第10章 DOM
10.1 DOM简介
10.1.1 节点
10.1.2 节点类型
10.2 节点查找
10.2.1 获取单个节点Node
10.2.2 获取节点集合NodeList
10.3 节点操作
10.3.1 创建节点
10.3.2 新增节点
10.3.3 删除节点
10.3.4 修改节点
10.4 属性操作
10.4.1 getAttribute()
10.4.2 setAttribute()
10.4.3 点符号
10.4.4 classList属性
10.5 内容操作
10.6 样式操作
10.6.1 getComputedStyle()
10.6.2 设置CSS样式
第11章 事件
11.1 事件处理
11.1.1 addEventListener()
11.1.2 removeEventListener()
11.2 事件流
11.3 事件对象与事件类型
11.3.1 阻止默认行为
11.3.2 阻止事件冒泡
11.3.3 事件委托
11.4 自定义事件
第12章 Ajax
12.1 Ajax简介
12.1.1 XMLHttpRequest
12.1.2 Fetch
12.2 HTTP
12.2.1 客户端、服务端
12.2.2 代理服务器
12.2.3 HTTP是无状态,有会话的
12.2.4 HTTP流
12.2.5 http1.0的问题
12.4 跨域
12.4.1 浏览器的同源策略
12.4.2 jsonp
12.4.3 img ping
12.4.4 window.name
12.4.5 postMessage
12.4.6 CORS
第13章 模块和构建工具
13.1 模块
13.1.1 CommonJS
13.1.2 AMD
13.1.3 CMD
13.1.4 UMD
13.2 ES6中的模块
13.2.1 export
13.2.2 import
13.2.3 导入、导出时的重命名
13.3 构建工具
13.3.1 npm的使用
13.3.2 npm发布包
第14章 客户端存储
14.1 cookie
14.1.1 什么是cookie
14.1.2 有效期和作用域
14.1.3 关于session
14.1.4 关于token
14.2 本地存储
14.2.1 localStorage
14.2.2 .和[ ]操作
14.2.3 sessionStorage
14.3 IndexedDB
第15章 性能优化
15.1 减少请求数
15.1.1 合并代码
15.1.2 CSS Sprite
15.1.3 data url
15.2 减少代码体积
15.3 缓存文件
15.3.1 浏览器缓存
15.3.2 客户端缓存
15.4 使用内容分发网络CDN
15.6 延迟加载
15.6.1 实现
15.6.2 完整代码
15.7 避免重定向
15.8 服务端gzip
15.8.1 什么是gzip?
15.8.2 gzip压缩原理
第16章 类库和框架
16.1 预处理器
16.2 辅助库
16.2.1 jQuery
16.2.2 axios
16.2.3 Underscore
16.2.4 lodash
16.2.5 Moment.js
16.3 框架
16.3.1 Angular
16.3.2 React
16.3.3 Vue.js
附录A Canvas
附录B 前端中的SEO
B.1 robots.txt
B.2 title
B.3 meta
B.4 其他HTML标签
B.5 结构化数据标记
附录C 编程风格
C.1 减少全局变量污染
C.2 避免使用var
C.3 使用字面量
C.4 字符串
C.5 解构
C.6 函数
C.7 模块
C.8 其他
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜