科技
类型
可以朗读
语音朗读
190千字
字数
2020-03-01
发行日期
展开全部
主编推荐语
JavaScript语言初学者的入门教程,JavaScript语言爱好者的进阶参考。
内容简介
本书从JavaScript的基础语法开始讲解,循序渐进地介绍了JavaScript的必备知识和高级技巧,并通过大量实例带领读者掌握Web前端开发中常用的JavaScript知识及开发技巧。
本书着重于为JavaScript编程开发人员及爱好者提供简单易懂、清晰明了的学习路径。本书结构清晰,内容编排由浅入深,能够帮助读者拥有Web开发中不可或缺的能力和技巧。
本书既适合JavaScript语言初学者,也适合JavaScript语言进阶者。
目录
- 版权信息
- 内容简介
- 作者简介
- 前言
- 第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 其他
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。