展开全部

主编推荐语

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 其他
展开全部

评分及书评

4.0
3个评分
  • 用户头像
    给这本书评了
    4.0
    JS知识基础书

    全面介绍了 Javascript 语言的基础知识及其在前端技术中的作用与相关知识,可以做为 JS 的工具书用来查询。

      转发
      评论
      用户头像
      给这本书评了
      4.0
      可读。

      可以看,代码有写的不正确与不准确的地方,建议自己实际操作看效果。

        转发
        评论

      出版方

      清华大学出版社

      清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。