很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开 发者“不求甚解”的大趋势,深入理解语言内部的机制。 《你不知道的JavaScript(上卷)》既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。 JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。 JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其下卷,主要介绍了JavaScript入门知识和对ES6及未来发展趋势的展望。 本书既适合JavaScript语言初学者了解其精髓,又适合经验丰富的JavaScript开发人员深入学习。

作者简介:

Kyle Simpson

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

译者简介:

赵望野

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

梁杰

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

目录 · · · · · ·
前言  VIII
第一部分 作用域和闭包
序  2
第1章 作用域是什么  4
1.1 编译原理  4
1.2 理解作用域  6
1.2.1 演员表  6
1.2.2 对话  6
1.2.3 编译器有话说  7
1.2.4 引擎和作用域的对话  9
1.2.5 小测验  10
1.3 作用域嵌套  10
1.4 异常  12
1.5 小结  12
第2章 词法作用域  14
2.1 词法阶段  14
2.2 欺骗词法  17
2.2.1 eval  17
2.2.2 with  18
2.2.3 性能  20
2.3 小结  21
第3章 函数作用域和块作用域  22
3.1 函数中的作用域  22
3.2 隐藏内部实现  23
3.3 函数作用域  26
3.3.1 匿名和具名  27
3.3.2 立即执行函数表达式  28
3.4 块作用域  30
3.4.1 with  31
3.4.2 try/catch  31
3.4.3 let  32
3.4.4 const  35
3.5 小结  36
第4章 提升  37
4.1 先有鸡还是先有蛋  37
4.2 编译器再度来袭  38
4.3 函数优先  40
4.4 小结  41
第5章 作用域闭包  43
5.1 启示  43
5.2 实质问题  44
5.3 现在我懂了  47
5.4 循环和闭包  48
5.5 模块  51
5.5.1 现代的模块机制  54
5.5.2 未来的模块机制  56
5.6 小结  57
附录A 动态作用域  58
附录B 块作用域的替代方案  60
附录C this词法  64
附录D 致谢  67
第二部分 this和对象原型
序  72
第1章 关于this  74
1.1 为什么要用this  74
1.2 误解  76
1.2.1 指向自身  76
1.2.2 它的作用域  79
1.3 this到底是什么  80
1.4 小结  80
第2章 this全面解析  82
2.1 调用位置  82
2.2 绑定规则  83
2.2.1 默认绑定  83
2.2.2 隐式绑定  85
2.2.3 显式绑定  87
2.2.4 new绑定  90
2.3 优先级  91
2.4 绑定例外  95
2.4.1 被忽略的this  96
2.4.2 间接引用  97
2.4.3 软绑定  98
2.5 this词法  99
2.6 小结  101
第3章 对象  102
3.1 语法  102
3.2 类型  103
3.3 内容  105
3.3.1 可计算属性名  106
3.3.2 属性与方法  107
3.3.3 数组  108
3.3.4 复制对象  109
3.3.5 属性描述符  111
3.3.6 不变性  114
3.3.7 [[Get]]  115
3.3.8 [[Put]]  116
3.3.9 Getter和Setter  117
3.3.10 存在性  119
3.4 遍历  121
3.5 小结  124
第4章 混合对象“类”  126
4.1 类理论  126
4.1.1 “类”设计模式  127
4.1.2 JavaScript中的“类”  128
4.2 类的机制  128
4.2.1 建造  128
4.2.2 构造函数  130
4.3 类的继承  130
4.3.1 多态  132
4.3.2 多重继承  134
4.4 混入  134
4.4.1 显式混入  135
4.4.2 隐式混入  139
4.5 小结  140
第5章 原型  142
5.1 [[Prototype]]  142
5.1.1 Object.prototype  144
5.1.2 属性设置和屏蔽  144
5.2 “类”  146
5.2.1 “类”函数  146
5.2.2 “构造函数”  149
5.2.3 技术  151
5.3 (原型)继承  153
5.4 对象关联  159
5.4.1 创建关联  159
5.4.2 关联关系是备用  161
5.5 小结  162
第6章 行为委托  164
6.1 面向委托的设计  165
6.1.1 类理论  165
6.1.2 委托理论  166
6.1.3 比较思维模型  170
6.2 类与对象  173
6.2.1 控件“类”  174
6.2.2 委托控件对象  176
6.3 更简洁的设计  178
6.4 更好的语法  182
6.5 内省  185
6.6 小结  187
附录A ES6中的Class  189
· · · · · ·

[下载参考地址] :双盘下载(百度网盘+诚通网盘)

>>>下载前特别提醒<<<<

1、手机端支付下载建议使用UC浏览器360浏览器夸克浏览器谷歌浏览器

2、电脑端支付下载建议使用谷歌浏览器,360浏览器,搜狗浏览器,opera浏览器

3、支付后不跳转或者支付失败怎么办?[解决方案]

4、不能正常解压或解压失败怎么办?[解决方案]

5、城通网盘下载教程?[解决方案]

隐藏内容
本内容需权限查看
  • 普通: 10金币
  • 会员: 免费
  • 永久会员: 免费
已有1人解锁查看
  • 温馨提示:
  • 在微信、微博等APP中下载时,会出现无法下载的情况
  • 这时请选择在浏览器中打开,然后再请下载浏览
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。