很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开发者"不求甚解"的大趋势,深入理解语言内部的机制。
《你不知道的JavaScript(上卷)》既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。
JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无法真正理解语言本身的特性。正是因为绝大多数人不求甚解,一遇到出乎意料的行为就认为是语言本身有缺陷,进而把相关的特性加入黑名单,久而久之就排除了这门语言的多样性,人为地使它变得不完整、不安全。
"你不知道的JavaScript"系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书介绍了该系列的两个主题:"作用域和闭包"以及"this和对象原型"。掌握了这些知识之后,无论什么技术、框架和流行词语,你都能轻松理解。
Kyle Simpson 推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。他是技术书作家、技术培训师、讲师和开源社区的活跃成员。
前言VIII
及时部分作用域和闭包
序
第1章作用域是什么
1.1编译原理
1.2理解作用域
1.2.1演员表
1.2.2对话
1.2.3编译器有话说
1.2.4引擎和作用域的对话
1.2.5小测验
1.3作用域嵌套
1.4异常
1.5小结
第2章词法作用域
2.1词法阶段
2.2欺骗词法
2.2.1eval
2.2.2with
2.2.3性能
2.3小结
第3章函数作用域和块作用域
3.1函数中的作用域
3.2隐藏内部实现
3.3函数作用域
3.3.1匿名和具名
3.3.2立即执行函数表达式
3.4块作用域
3.4.1with
3.4.2try/catch
3.4.3let
3.4.4const
3.5小结
第4章提升
4.1先有鸡还是先有蛋
4.2编译器再度来袭
4.3函数优先
4.4小结
第5章作用域闭包
5.1启示
5.2实质问题
5.3现在我懂了
5.4循环和闭包
5.5模块
5.5.1现代的模块机制
5.5.2未来的模块机制
5.6小结
附录A动态作用域
附录B块作用域的替代方案
附录Cthis词法
附录D致谢
第二部分this和对象原型
序
第1章关于this
1.1为什么要用this
1.2误解
1.2.1指向自身
1.2.2它的作用域
1.3this到底是什么
1.4小结
第2章this解析
2.1调用位置
2.2绑定规则
2.2.1默认绑定
2.2.2隐式绑定
2.2.3显式绑定
2.2.4new绑定
2.3优先级
2.4绑定例外
2.4.1被忽略的this
2.4.2间接引用
2.4.3软绑定
2.5this词法
2.6小结
第3章对象
3.1语法
3.2类型
3.3内容
3.3.1可计算属性名
3.3.2属性与方法
3.3.3数组
3.3.4复制对象
3.3.5属性描述符
3.3.6不变性
3.3.7[[Get]]
3.3.8[[Put]]
3.3.9Getter和Setter
3.3.10存在性
3.4遍历
3.5小结
第4章混合对象"类"
4.1类理论
4.1.1"类"设计模式
4.1.2JavaScript中的"类"
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.5小结
第5章原型
5.1[[Prototype]]
5.1.1Object.prototype
5.1.2属性设置和屏蔽
5.2"类"
5.2.1"类"函数
5.2.2"构造函数"
5.2.3技术
5.3(原型)继承
5.4对象关联
5.4.1创建关联
5.4.2关联关系是备用
5.5小结
第6章行为委托
6.1面向委托的设计
6.1.1类理论
6.1.2委托理论
6.1.3比较思维模型
6.2类与对象
6.2.1控件"类"
6.2.2委托控件对象
6.3更简洁的设计
6.4更好的语法
6.5内省
6.6小结
附录AES6中的Class
"Kyle对JavaScript语言每一个细节的缜密思考方式,会潜移默化地移植到我们的头脑和日常工作流程当中。"
——Shane Hudson,自由前端开发者
"原型使JavaScript语言功能强大,但也令开发人员备感困惑。本书第二部分`this和对象原型`精妙地解释了原型、继承和JavaScript中`类`的概念。"
——David Walsh,Mozilla前端工程师
这本书内容我不知道怎样,但是包装还可以,比较薄,希望能够给我惊喜
赶着双十一+店庆低价屯一波,超值。塑封包装完好,必须点赞。
非老手不建议看这本书,作者以自己理解的方式去写的,新手只会越看越乱,不推荐
收没得说,书很好,当当活动购物,便宜。书收到不错。
书还没看,应该还不错,书还没看,应该还不错
不错 正品 值得买
书已收到,商家的服务态度非常好。书的质量也很好。很清晰。希望商家的生意越来越火。
好书 撸了两遍 每撸一次都有新收获 好书!
正在看中卷
技术开发人员必备工具书
很有用书籍,实用性强,很锻炼人,非常感谢作者
挺好呃呃呃呃呃呃呃呃呃呃呃呃
周年庆屯一波,实惠超值
很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开发者“不求甚解”的大趋势,深入理解语言内部的机制。
内容挺赞,不过OLOO可能流行不起来,因为V8没有针对性优化
哎…坚持看了一段时间,太忙了,就没坚持看了,接下来得坚持把它读完
一个从没接触过代码的小白。。心血来潮买了本。。我能说看不懂么。。
不用说了经典,电子书看完了,还是把这本书买来就是做个纪念。
很详细,前端开发人员还有学习js的人都可以看一看
这本书不用说了,只能点赞,想深入了解js的同学必须来一本,期待中卷和下卷!
当当买的书都很好,这个看起来不错…希望看完能有所提高
详细讲解了Js中的一些重要概念,希望能助我拿到offer
还没看到但是先收货了,这本书相对来说还是比较好的。
两本书一起买的,包的很好,书也很快就到了。真的很好,虽然很久没有在当当上买东西了,但是现在买书还是一如既往的好!
好书一本,看完之后对于JS有了进一步的认识。
学JavaScript拿来印证辅助学习,很不错!
等下卷出了,就把这套补齐,这个系列的书很好,适合有点JS基础的人阅读。
书还是不错的,看别人推荐买的,内容还没看,评价还不错
很好很强大,正在阅读,受益匪浅,写的很清晰,理清思路,知识系统性有帮助
上卷瞅了一眼主要讲闭包原型链等基础又重要的知识,不过我买了太多书了,还没有开始看这一本,挺好的把应该