作品简介

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无法真正理解语言本身的特性。正是因为绝大多数人不求甚解,一遇到出乎意料的行为就认为是语言本身有缺陷,进而把相关的特性加入黑名单,久而久之就排除了这门语言的多样性,人为地使它变得不完整、不安全。

“你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书介绍了该系列的两个主题:“作用域和闭包”以及“this和对象原型”。掌握了这些知识之后,无论什么技术、框架和流行词语,你都能轻松理解。

作者简介:

Kyle Simpson

推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。他是技术书作家、技术培训师、讲师和开源社区的活跃成员。

译者简介:

赵望野

前端工程师,前端基础技术组leader,曾经负责豌豆荚2.0的前端架构设计和主要开发工作,目前负责Front-end Technical Infrastructure的建设。新浪微博@赵望野。负责本书第一部分“作用域和闭包”的翻译。

梁杰

北京航空航天大学计算机科学与技术专业大四学生。热爱JavaScript、Python,热爱开源,喜欢做各种各样有趣的事情。负责本书第二部分“this和对象原型”的翻译。

作品目录

  • O'Reilly Media, Inc.介绍
  • 业界评论
  • 前言
  • 本书排版约定
  • 使用代码示例
  • Safari® Books Online
  • 联系我们
  • 第一部分 作用域和闭包
  • 第 1 章 作用域是什么
  • 1.1 编译原理
  • 1.2 理解作用域
  • 1.3 作用域嵌套
  • 1.4 异常
  • 1.5 小结
  • 小测验答案
  • 第 2 章 词法作用域
  • 2.1 词法阶段
  • 2.2 欺骗词法
  • 2.3 小结
  • 第 3 章 函数作用域和块作用域
  • 3.1 函数中的作用域
  • 3.2 隐藏内部实现
  • 3.3 函数作用域
  • 3.4 块作用域
  • 3.5 小结
  • 第 4 章 提升
  • 4.1 先有鸡还是先有蛋
  • 4.2 编译器再度来袭
  • 4.3 函数优先
  • 4.4 小结
  • 第 5 章 作用域闭包
  • 5.1 启示
  • 5.2 实质问题
  • 5.3 现在我懂了
  • 5.4 循环和闭包
  • 5.5 模块
  • 5.6 小结
  • 附录A 动态作用域
  • 附录B 块作用域的替代方案
  • B.1 Traceur
  • B.2 隐式和显式作用域
  • B.3 性能
  • 附录C  this 词法
  • 附录D 致谢
  • 第二部分 this和对象原型
  • 第 1 章 关于 this
  • 1.1 为什么要用 this
  • 1.2 误解
  • 1.3  this 到底是什么
  • 1.4 小结
  • 第 2 章  this 全面解析
  • 2.1 调用位置
  • 2.2 绑定规则
  • 2.3 优先级
  • 2.4 绑定例外
  • 2.5  this 词法
  • 2.6 小结
  • 第 3 章 对象
  • 3.1 语法
  • 3.2 类型
  • 3.3 内容
  • 3.4 遍历
  • 3.5 小结
  • 第 4 章 混合对象“类”
  • 4.1 类理论
  • 4.2 类的机制
  • 4.3 类的继承
  • 4.4 混入
  • 4.5 小结
  • 第 5 章 原型
  • 5.1  [[Prototype]]
  • 5.2 “类”
  • 5.3 (原型)继承
  • 5.4 对象关联
  • 5.5 小结
  • 第 6 章 行为委托
  • 6.1 面向委托的设计
  • 6.2 类与对象
  • 6.3 更简洁的设计
  • 6.4 更好的语法
  • 6.5 内省
  • 6.6 小结
  • 附录A ES6中的Class
  • A.1  class
  • A.2  class 陷阱
  • A.3 静态大于动态吗
  • A.4 小结
  • 看完了
展开全部