你不知道的JavaScript(下卷) (Unknown) (Z-Library)

Author: Unknown Author

JavaScript

No Description

📄 File Format: PDF
💾 File Size: 7.2 MB
45
Views
0
Downloads
0.00
Total Donations

📄 Text Preview (First 20 pages)

ℹ️

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

📄 Page 1
(This page has no text content)
📄 Page 2
(This page has no text content)
📄 Page 3
图 灵 程 序 设 计 丛 书 人 民 邮 电 出 版 社 北  京 You Don’t Know JavaScript: Up & Going, ES6 & Beyond [美]Kyle Simpson 著 单业 译 你不知道的JavaScript(下卷) Beijing • Boston • Farnham • Sebastopol • Tokyo O’Reilly Media, Inc.授权人民邮电出版社出版
📄 Page 4
内 容 提 要 JavaScript 这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的 JavaScript 开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前 JavaScript 开发人 员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了 JavaScript 中常被人误解和忽视的 重要知识点。本书是其下卷,主要介绍了 JavaScript 入门知识和对 ES6 及未来发展趋势的展望。 本书既适合 JavaScript 语言初学者了解其精髓,又适合经验丰富的 JavaScript 开发人员深入 学习。 定价:79.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广登字 20170147 号 著    [美] Kyle Simpson 译    单 业 责任编辑 朱 巍 执行编辑 张海艳 责任印制 彭志环 人民邮电出版社出版发行  北京市丰台区成寿寺路11号 邮编 100164  电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京      印刷 开本:800×1000 1/16 印张:17.75 字数:420千字 2018年 1 月第 1 版 印数:1 — 4 000册 2018年 1 月北京第 1 次印刷 著作权合同登记号 图字:01-2016-4640号 ◆ ◆ ◆
📄 Page 5
版权声明 © 2015 by Getify Solutions, Inc. Simplified Chinese Edition, jointly published by O’Reilly Media, Inc.and Posts & Telecom Press, 2018. Authorized translation of the English edition, 2015 O’Reilly Media, Inc., the owner of all rights to publish and sell the same. All rights reserved including the rights of reproduction in whole or in part in any form. 英文原版由 O’Reilly Media, Inc. 出版 2015。 简体中文版由人民邮电出版社出版,2018。英文原版的翻译得到 O’Reilly Media, Inc. 的授 权。此简体中文版的出版和销售得到出版权和销售权的所有者 —— O’Reilly Media, Inc. 的 许可。 版权所有,未得书面许可,本书的任何部分和全部不得以任何形式重制。
📄 Page 6
O’Reilly Media 通过图书、杂志、在线服务、调查研究和会议等方式传播创新知识。 自 1978 年开始,O’Reilly 一直都是前沿发展的见证者和推动者。超级极客们正在开创 着未来,而我们关注真正重要的技术趋势——通过放大那些“细微的信号”来刺激社 会对新科技的应用。作为技术社区中活跃的参与者,O’Reilly 的发展充满了对创新的 倡导、创造和发扬光大。 O’Reilly 为软件开发人员带来革命性的“动物书”;创建第一个商业网站(GNN);组 织了影响深远的开放源代码峰会,以至于开源软件运动以此命名;创立了 Make 杂志, 从而成为 DIY 革命的主要先锋;公司一如既往地通过多种形式缔结信息与人的纽带。 O’Reilly 的会议和峰会集聚了众多超级极客和高瞻远瞩的商业领袖,共同描绘出开创 新产业的革命性思想。作为技术人士获取信息的选择,O’Reilly 现在还将先锋专家的 知识传递给普通的计算机用户。无论是通过书籍出版、在线服务或者面授课程,每一 项 O’Reilly 的产品都反映了公司不可动摇的理念——信息是激发创新的力量。 业界评论 “O’Reilly Radar 博客有口皆碑。” ——Wired “O’Reilly 凭借一系列(真希望当初我也想到了)非凡想法建立了数百万美元的业务。” ——Business 2.0 “O’Reilly Conference 是聚集关键思想领袖的绝对典范。” ——CRN “一本 O’Reilly 的书就代表一个有用、有前途、需要学习的主题。” ——Irish Times “Tim 是位特立独行的商人,他不光放眼于最长远、最广阔的视野,并且切实地按照 Yogi Berra 的建议去做了:‘如果你在路上遇到岔路口,走小路(岔路)。’回顾过去, Tim 似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。” ——Linux Journal O’Reilly Media, Inc.介绍
📄 Page 7
v 目录 前言 ..........................................................................................................................................................xi 致谢 .......................................................................................................................................................xvii 第一部分 起步上路 序 ...............................................................................................................................................................2 第 1 章 深入编程 ................................................................................................................................4 1.1 代码 .............................................................................................................................................4 1.2 表达式 .........................................................................................................................................5 1.3 实践 .............................................................................................................................................6 1.3.1 输出 ................................................................................................................................7 1.3.2 输入 ................................................................................................................................8 1.4 运算符 .........................................................................................................................................9 1.5 值与类型 ...................................................................................................................................11 1.6 代码注释 ...................................................................................................................................13 1.7 变量 ...........................................................................................................................................14 1.8 块 ...............................................................................................................................................16 1.9 条件判断 ...................................................................................................................................17 1.10 循环 .........................................................................................................................................18 1.11 函数 .........................................................................................................................................20 1.12 实践 .........................................................................................................................................23 1.13 小结 .........................................................................................................................................25
📄 Page 8
vi | 目录 第 2 章 深入 JavaScript .................................................................................................................26 2.1 值与类型 ...................................................................................................................................26 2.1.1 对象 ..............................................................................................................................28 2.1.2 内置类型方法 ..............................................................................................................30 2.1.3 值的比较 ......................................................................................................................31 2.2 变量 ...........................................................................................................................................35 2.3 条件判断 ...................................................................................................................................37 2.4 严格模式 ...................................................................................................................................39 2.5 作为值的函数 ...........................................................................................................................40 2.5.1 立即调用函数表达式 ..................................................................................................41 2.5.2 闭包 ..............................................................................................................................42 2.6 this 标识符 ..............................................................................................................................44 2.7 原型 ...........................................................................................................................................46 2.8 旧与新 .......................................................................................................................................47 2.8.1 polyfilling ......................................................................................................................47 2.8.2 transpiling .....................................................................................................................48 2.9 非 JavaScript .............................................................................................................................49 2.10 小结 .........................................................................................................................................50 第 3 章 深入“你不知道的 JavaScript”系列 .........................................................................51 3.1 作用域和闭包 ...........................................................................................................................51 3.2 this 和对象原型 ......................................................................................................................52 3.3 类型和语法 ...............................................................................................................................53 3.4 异步和性能 ...............................................................................................................................53 3.5 ES6 及更新版本 .......................................................................................................................54 3.6 小结 ...........................................................................................................................................55 第二部分 ES6 及更新版本 序 .............................................................................................................................................................58 第 1 章 ES? 现在与未来 ................................................................................................................59 1.1 版本 ...........................................................................................................................................60 1.2 transpiling ..................................................................................................................................61 1.3 小结 ...........................................................................................................................................63 第 2 章 语法 .......................................................................................................................................64 2.1 块作用域声明 ...........................................................................................................................64 2.1.1 let 声明 ........................................................................................................................65 2.1.2 const 声明 ....................................................................................................................68
📄 Page 9
目录 | vii 2.1.3 块作用域函数 ..............................................................................................................70 2.2 spread/rest ..................................................................................................................................71 2.3 默认参数值 ...............................................................................................................................73 2.4 解构 ...........................................................................................................................................77 2.4.1 对象属性赋值模式 ......................................................................................................78 2.4.2 不只是声明 ..................................................................................................................79 2.4.3 重复赋值 ......................................................................................................................81 2.5 太多,太少,刚刚好 ...............................................................................................................83 2.5.1 默认值赋值 ..................................................................................................................84 2.5.2 嵌套解构 ......................................................................................................................84 2.5.3 解构参数 ......................................................................................................................85 2.6 对象字面量扩展 .......................................................................................................................90 2.6.1 简洁属性 ......................................................................................................................90 2.6.2 简洁方法 ......................................................................................................................90 2.6.3 计算属性名 ..................................................................................................................95 2.6.4 设定 [[Prototype]] ....................................................................................................96 2.6.5 super 对象 ....................................................................................................................97 2.7 模板字面量 ...............................................................................................................................98 2.7.1 插入表达式 ..................................................................................................................99 2.7.2 标签模板字面量 ........................................................................................................100 2.8 箭头函数 .................................................................................................................................103 2.9 for..of 循环 ..........................................................................................................................109 2.10 正则表达式 ...........................................................................................................................111 2.10.1 Unicode 标识 ..........................................................................................................111 2.10.2 定点标识 .................................................................................................................112 2.10.3 正则表达式 flags ..................................................................................................116 2.11 数字字面量扩展 ...................................................................................................................117 2.12 Unicode .................................................................................................................................118 2.12.1 支持 Unicode 的字符串运算 .................................................................................119 2.12.2 字符定位 .................................................................................................................121 2.12.3 Unicode 标识符名 ..................................................................................................123 2.13 符号 .......................................................................................................................................123 2.13.1 符号注册 .................................................................................................................125 2.13.2 作为对象属性的符号 .............................................................................................127 2.14 小结 .......................................................................................................................................128 第 3 章 代码组织 ............................................................................................................................129 3.1 迭代器 .....................................................................................................................................129 3.1.1 接口 ............................................................................................................................130 3.1.2 next() 迭代 ................................................................................................................131 3.1.3 可选的 return(..) 和 throw(..) .............................................................................132
📄 Page 10
viii | 目录 3.1.4 迭代器循环 ................................................................................................................133 3.1.5 自定义迭代器 ............................................................................................................134 3.1.6 迭代器消耗 ................................................................................................................137 3.2 生成器 .....................................................................................................................................138 3.2.1 语法 ............................................................................................................................139 3.2.2 迭代器控制 ................................................................................................................144 3.2.3 提前完成 ....................................................................................................................147 3.2.4 错误处理 ....................................................................................................................149 3.2.5 Transpile 生成器 ........................................................................................................151 3.2.6 生成器使用 ................................................................................................................152 3.3 模块 .........................................................................................................................................153 3.3.1 旧方法 ........................................................................................................................153 3.3.2 前进 ............................................................................................................................154 3.3.3 新方法 ........................................................................................................................156 3.3.4 模块依赖环 ................................................................................................................164 3.3.5 模块加载 ....................................................................................................................166 3.4 类 .............................................................................................................................................167 3.4.1 class ...........................................................................................................................168 3.4.2 extends 和 super .......................................................................................................169 3.4.3 new.target .................................................................................................................174 3.4.4 static .........................................................................................................................175 3.5 小结 .........................................................................................................................................176 第 4 章 异步流控制 .......................................................................................................................177 4.1 Promise ....................................................................................................................................177 4.1.1 构造和使用 Promise ..................................................................................................178 4.1.2 Thenable ......................................................................................................................180 4.1.3 Promise API ................................................................................................................181 4.2 生成器 + Promise....................................................................................................................183 4.3 小结 .........................................................................................................................................185 第 5 章 集合 .....................................................................................................................................187 5.1 TypedArray .............................................................................................................................187 5.1.1 大小端(Endianness) ................................................................................................188 5.1.2 多视图 ........................................................................................................................189 5.1.3 带类数组构造器 ........................................................................................................190 5.2 Map..........................................................................................................................................192 5.2.1 Map 值 ........................................................................................................................194 5.2.2 Map 键 ........................................................................................................................194 5.3 WeakMap ................................................................................................................................195 5.4 Set ............................................................................................................................................196
📄 Page 11
目录 | ix 5.5 WeakSet ..................................................................................................................................198 5.6 小结 .........................................................................................................................................199 第 6 章 新增 API ............................................................................................................................200 6.1 Array ........................................................................................................................................200 6.1.1 静态函数 Array.of(..) ............................................................................................200 6.1.2 静态函数 Array.from(..) ........................................................................................201 6.1.3 创建数组和子类型 ....................................................................................................204 6.1.4 原型方法 copyWithin(..) ........................................................................................205 6.1.5 原型方法 fill(..) ....................................................................................................206 6.1.6 原型方法 find(..) ....................................................................................................206 6.1.7 原型方法 findIndex(..) ..........................................................................................207 6.1.8 原型方法 entries()、values()、keys() ...............................................................208 6.2 Object .....................................................................................................................................209 6.2.1 静态函数 Object.is(..) ..........................................................................................209 6.2.2 静态函数 Object.getOwnPropertySymbols(..) ......................................................210 6.2.3 静态函数 Object.setPrototypeOf(..) ...................................................................210 6.2.4 静态函数 Object.assign(..) ...................................................................................211 6.3 Math ........................................................................................................................................212 6.4 Number .....................................................................................................................................214 6.4.1 静态属性 ....................................................................................................................214 6.4.2 静态函数 Number.isNaN(..) .....................................................................................214 6.4.3 静态函数 Number.isFinite(..) ...............................................................................215 6.4.4 整型相关静态函数 ....................................................................................................215 6.5 字符串 .....................................................................................................................................216 6.5.1 Unicode 函数 ..............................................................................................................217 6.5.2 静态函数 String.raw(..) ........................................................................................217 6.5.3 原型函数 repeat(..) ................................................................................................217 6.5.4 字符串检查函数 ........................................................................................................218 6.6 小结 .........................................................................................................................................218 第 7 章 元编程 ................................................................................................................................219 7.1 函数名称 .................................................................................................................................219 7.2 元属性 .....................................................................................................................................222 7.3 公开符号 .................................................................................................................................223 7.3.1 Symbol.iterator........................................................................................................223 7.3.2 Symbol.toStringTag 与 Symbol.hasInstance .........................................................224 7.3.3 Symbol.species .........................................................................................................225 7.3.4 Symbol.toPrimitive ..................................................................................................226 7.3.5 正则表达式符号 ........................................................................................................226 7.3.6 Symbol.isConcatSpreadable ....................................................................................227
📄 Page 12
x | 目录 7.3.7 Symbol.unscopables ..................................................................................................228 7.4 代理 .........................................................................................................................................228 7.4.1 代理局限性 ................................................................................................................231 7.4.2 可取消代理 ................................................................................................................232 7.4.3 使用代理 ....................................................................................................................233 7.5 Reflect API ............................................................................................................................240 7.6 特性测试 .................................................................................................................................243 7.7 尾递归调用(Tail Call Optimization,TCO) ..........................................................................245 7.7.1 尾调用重写 ................................................................................................................247 7.7.2 非 TCO 优化 ..............................................................................................................248 7.7.3 元在何处 ....................................................................................................................250 7.8 小结 .........................................................................................................................................251 第 8 章 ES6 之后 ...........................................................................................................................253 8.1 异步函数 .................................................................................................................................254 8.2 Object.observe(..) ..............................................................................................................257 8.2.1 自定义改变事件 ........................................................................................................258 8.2.2 结束观测 ....................................................................................................................259 8.3 幂运算符 .................................................................................................................................260 8.4 对象属性与 ... ......................................................................................................................260 8.5 Array#includes(..) ..............................................................................................................261 8.6 SIMD .......................................................................................................................................262 8.7 WebAssembly (WASM) .........................................................................................................262 8.8 小结 .........................................................................................................................................264
📄 Page 13
前言 我相信你已经注意到了这一系列图书的封面上都有大大的“JS”,它并不是用来诅咒 JavaScript 的缩写,尽管我们大家都诅咒过这门语言的怪异之处。 从最早期的 Web 开始,JavaScript 就是驱动内容消费的交互式体验的基本技术。尽管闪 烁的鼠标轨迹和恼人的弹出式广告可能是 JavaScript 起步的地方。但是近二十年之后, JavaScript 的技术和功能已经有了很大的发展,并且位于世界上使用最广泛的软件平台—— Web 的核心,它的重要性几乎没有人再会质疑。 但是,作为一门编程语言,JavaScript 一直为人诟病,部分原因是其历史沿革,更重要的 原因则是其设计理念。因为 JavaScript 这个名字,Brendan Eich 曾戏称它为“傻小弟”(相 对于成熟的 Java 而言)。实际上,这个名字完全是政治和市场考量下的产物。两门语言之 间千差万别,“JavaScript”之于“Java”就如同“Carnival”(嘉年华)之于“Car”(汽车) 一样,两者之间并无半点关系。 JavaScript 在概念和语法风格上借鉴了其他编程语言,包括 C 风格的过程式编程和隐晦的 Scheme/Lisp 风格的函数式编程,这使得它能为不同背景的开发人员所接受,包括那些没 有多少编程经验的人。用 JavaScript 编写一个“Hello World”程序非常简单。因此对于初 学者而言,它是有吸引力和易学的。 JavaScript 可能是最容易上手的编程语言之一,但它的一些奇特之处使得它不像其他语言 那样容易完全掌握。要想用 C 或者 C++ 开发一个完整的应用程序,开发者需要对该门语 言有相当深入的了解。然而对于 JavaScript,即使我们用它开发了一个完整的系统也不见 得就能深入理解它。 这门语言中有些复杂的概念隐藏得很深,却常常以一种看似简单的形式呈现。例如,将函 数作为回调函数传递,这让 JavaScript 开发人员往往满足于使用这些现成便利的机制,而 不愿去探究其中的原理。 xi
📄 Page 14
xii | 前言 JavaScript 是一门简单易用的语言,应用广泛,同时它的语言机制又十分复杂和微妙,即 使经验丰富的开发人员也需要用心学习才能真正掌握。 JavaScript 的矛盾之处就在于此,它的阿喀琉斯之踵正是本书要解决的问题。因为无需深 入理解就能用它来编程,所以人们常常放松对它的学习。 使命 在学习 JavaScript 的过程中,碰到令人抓狂的问题或挫折时,如果置之不理或不求甚解 (就像有些人习惯做的那样),我们很快就会发现自己根本无从发挥这门语言的威力。 尽管这些被称为 JavaScript 的“精华”部分,但我恳请读者朋友们将其看作“容易的”“安 全的” 或者“不完整的”部分。 “你不知道的 JavaScript”系列丛书旨在介绍 JavaScript 的另一面,让你深入掌握 JavaScript 的全部,特别是那些难点。 JavaScript 开发人员常常满足于一知半解,不愿更深入地了解其深层原因和运作方式,本 书要解决的正是这个问题。我们会直面那些疑难困惑,绝不回避。 我个人不会仅仅满足于让代码运行起来而不明就里,你也应该这样。本书中,我会逐步介 绍 JavaScript 中那些不太为人所知的地方,最终让你对这门语言有一个全面的了解。一旦 掌握了这些知识,那些技巧、框架和时髦术语等都将不在话下。 本系列丛书全面深入地介绍了 JavaScript 中常为人误解和忽视的重要知识点,让你在读完 之后不论从理论上还是实践上都能对这门语言有足够的信心。 目前你对 JavaScript 的了解可能都来自那些自身就一知半解的“专家”,而这仅仅是冰山一 角。读完本系列丛书后,你将真正了解这门语言。现在就让我们踏上阅读寻知之旅吧。 综述 JavaScript 是一门优秀的语言。只学其中一部分内容很容易,但是要全面掌握则很难。开 发人员遇到困难时往往将其归咎于语言本身,而不反省他们自己对语言的理解有多匮乏。 本系列丛书旨在解决这个问题,使读者能够发自内心地喜欢上这门语言。 本书中的很多示例都假定你使用的是现代(以及未来)的 JavaScript 引擎环 境,比如 ES6。有些代码在旧版本(ES6 之前)的引擎下可能不会像书中描 述的那样工作。
📄 Page 15
前言 | xiii 排版约定 本书使用了下列排版约定。 • 黑体 表示新术语或重点强调的内容。 • 等宽字体(constant width) 表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语 句和关键字等。 • 加粗等宽字体(constant width bold) 表示应该由用户输入的命令或其他文本。 • 等宽斜体(constant width italic) 表示应该由用户输入的值或根据上下文确定的值替换的文本。 该图标表示提示或建议。 该图标表示一般注记。 该图标表示警告或警示。 使用代码示例 补充材料(代码示例、练习等)可以从 http://bit.ly/ydkjs-up-going-code 和 http://bit.ly/ydkjs- es6beyond-code 下载。 本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程 序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书 的几个代码片段写一个程序就无需获得许可,销售或分发 O’Reilly 图书的示例光盘则需要 获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产
📄 Page 16
xiv | 前言 品文档中则需要获得许可。 我们很希望但并不强制要求你在引用书中内容时加上引用说明。引用说明一般包括书名、 作者、出版社和 ISBN。比如:“You Don’t Know JavaScript: Up & Going by Kyle Simpson (O’Reilly). Copyright 2015 Getify Solutions, Inc., 978-1-491-92446-4”。 如果你觉得自己对示例代码的用法超出了上述许可的范围,欢迎你通过 permissions@ oreilly.com 与我们联系。 Safari® Books Online Safari Books Online(http://www.safaribooksonline.com)是应运而 生的数字图书馆。它同时以图书和视频的形式出版世界顶级技术 和商务作家的专业作品。 技术专家、软件开发人员、Web 设计师、商务人士和创意专家等,在开展调研、解决问 题、学习和认证培训时,都将 Safari Books Online 视作获取资料的首选渠道。 对于组织团体、政府机构和个人,Safari Books Online 提供各种产品组合和灵活的定 价策略。用户可通过一个功能完备的数据库检索系统访问 O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、 Jones & Bartlett、Course Technology 以及其他几十家出版社的上千种图书、培训视频和正 式出版之前的书稿。要了解 Safari Books Online 的更多信息,我们网上见。 联系我们 请把对本书的评价和问题发给出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街 2 号成铭大厦 C 座 807 室(100035) 奥莱利技术咨询(北京)有限公司 O’Reilly 的每一本书都有专属网页,你可以在那儿找到本书的相关信息,包括勘误表、示
📄 Page 17
前言 | xv 例代码以及其他信息。本书第一部分“起步上路”的网站地址是 http://bit.ly/ydkjs_up-and- going。本书第二部分“ES6 及更新版本”的网站地址是:http://bit.ly/ydkjs-es6-beyond。 对于本书的评论和技术性问题,请发送电子邮件到: bookquestions@oreilly.com 要了解更多 O’Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站: http://www.oreilly.com 我们在 Facebook 的地址如下:http://facebook.com/oreilly 请关注我们的 Twitter 动态:http://twitter.com/oreillymedia 我们的 YouTube 视频地址如下:http://www.youtube.com/oreillymedia 电子书 扫描如下二维码,即可购买本书电子版。
📄 Page 18
(This page has no text content)
📄 Page 19
致谢 我要感谢很多人,是他们的帮助让本书以及整个系列得以出版。 首先,我必须感谢我的妻子 Christen Simpson 以及我的两个孩子 Ethan 和 Emily,容忍我整 天坐在电脑前工作。即使不写作的时候,我的眼睛也总是盯着屏幕做一些与 JavaScript 相 关的工作。我牺牲了很多陪伴家人的时间,这个系列的丛书才得以为读者深入全面地介绍 JavaScript。对于家庭,我亏欠太多。 我要感谢 O’Reilly 的编辑 Simon St.Laurent 和 Brian MacDonald,以及所有其他的编辑和市 场工作人员。和他们一起工作非常愉快;本系列丛书的写作、编辑和制作都以开源方式进 行,在此实验过程中,他们给予了非常多的帮助。 我要感谢所有为本系列丛书提供建议和校正的人,包括 Shelley Powers、Tim Ferro、Evan Borden、Forrest L. Norvell、Jennifer Davis、Jesse Harlin 等。十分感谢 Jenn Lukas 和 Rick Waldron 为本书作序。 我要感谢 JavaScript 社区中的许多人,包括 TC39 委员会的成员们,将他们的知识与我们 分享,并且耐心详尽地回答我无休止的提问。他们是 John-David Dalton、 Juriy “kangax” Zaytsev、Mathias Bynens、Axel Rauschmayer、Nicholas Zakas、Angus Croll、Reginald Braithwaite、Dave Herman、Brendan Eich、Allen Wirfs-Brock、Bradley Meck、Domenic Denicola、David Walsh、Tim Disney、Peter van der Zee、Andrea Giammarchi、Kit Cambridge、Eric Elliott、André Bargull、Caitlin Potter、 Brian Terlson、 Ingvar Stepanyan、 Chris Dickinson、 Luke Hoban,等等。还有很多人,我无法一一感谢。 “你不知道的 JavaScript”系列丛书是由 Kickstarter 发起的,我要感谢近 500 名慷慨的支持 者,没有他们的支持就没有这套系列丛书: Jan Szpila、nokiko、Murali Krishnamoorthy、Ryan Joy、Craig Patchett、pdqtrader、Dale Fukami、ray hatfield、R0drigo Perez [Mx]、Dan Petitt、Jack Franklin、Andrew Berry、Brian xvii
📄 Page 20
xviii | 致谢 Grinstead、Rob Sutherland、Sergi Meseguer、Phillip Gourley、Mark Watson、Jeff Carouth、 Alfredo Sumaran、Martin Sachse、Marcio Barrios、Dan、AimelyneM、Matt Sullivan、 Delnatte Pierre-Antoin、Jake Smith、Eugen Tudorancea、Iris、David Trinh、simonstl、Ray Daly、Uros Gruber、Justin Myers、Shai Zonis、Mom & Dad、Devin Clark、Dennis Palmer、 Brian Panahi Johnson、Josh Marshall、Marshall、Dennis Kerr、Matt Steele、Erik Slagter、 Sacah、Justin Rainbow、Christian Nilsson、Delapouite、D.Pereira、Nicolas Hoizey、George V. Reilly、Dan Reeves、Bruno Laturner、Chad Jennings、Shane King、Jeremiah Lee Cohick、 od3n、Stan Yamane、Marko Vucinic、Jim B、Stephen Collins、Egir Porsteinsson、Eric Pederson、Owain、Nathan Smith、Jeanetteurphy、Alexandre ELISé、Chris Peterson、Rik Watson、Luke Matthews、Justin Lowery、Morten Nielsen、Vernon Kesner、Chetan Shenoy、 Paul Tregoing、Marc Grabanski、Dion Almaer、Andrew Sullivan、Keith Elsass、Tom Burke、 Brian Ashenfelter、David Stuart、Karl Swedberg、 Graeme、Brandon Hays、John Christopher、 Gior、manoj reddy、Chad Smith、Jared Harbour、Minoru TODA、Chris Wigley、Daniel Mee、Mike、 Handyface、Alex Jahraus、Carl Furrow、Rob Foulkrod、Max Shishkin、Leigh Penny Jr.、Robert Ferguson、Mike van Hoenselaar、Hasse Schougaard、rajan venkataguru、 Jeff Adams、Trae Robbins、Rolf Langenhuijzen、Jorge Antunes、Alex Koloskov、Hugh Greenish、Tim Jones、Jose Ochoa、Michael Brennan-White、Naga Harish Muvva、 Barkóczi Dávid、Kitt Hodsden、Paul McGraw、Sascha Goldhofer、Andrew Metcalf、Markus Krogh、 Michael Mathews、Matt Jared、 Juanfran、Georgie Kirschner、Kenny Lee、Ted Zhang、 Amit Pahwa、Inbal Sinai、Dan Raine、Schabse Laks、Michael Tervoort、Alexandre Abreu、 Alan Joseph Williams、NicolasD、Cindy Wong、Reg Braithwaite、 LocalPCGuy、Jon Friskics、Chris Merriman、John Pena、 Jacob Katz、Sue Lockwood、Magnus Johansson、 Jeremy Crapsey、 Grzegorz Pawlowski、nico nuzzaci、Christine Wilks、Hans Bergren、 charles montgomery、Ariel-Fogel、Ivan Kolev、Daniel Campos、Hugh Wood、Christian Bradford、Frédéric Harper、Ionut Dan Popa、Jeff Trimble、Rupert Wood、Trey Carrico、 Pancho Lopez、Joel kuijten、Tom A Marra、Jeff Jewiss、Jacob Rios、Paolo Di Stefano、 Soledad Penades、 Chris Gerber、Andrey Dolganov、Wil Moore III、Thomas Martineau、 Kareem、Ben Thouret、Udi Nir、Morgan Laupies、jory carson-burson、 Nathan L Smith、Eric Damon Walters、Derry Lozano-Hoyland、Geoffrey Wiseman、mkeehner、KatieK、Scott MacFarlane、Brian LaShomb、Adrien Mas、christopher ross、Ian Littman、Dan Atkinson、 Elliot Jobe、 Nick Dozier、Peter Wooley、John Hoover、dan、Martin A. Jackson、 Héctor Fernando Hurtado、andy ennamorato、Paul Seltmann、Melissa Gore、Dave Pollard、Jack Smith、Philip Da Silva、Guy Israeli、 @megalithic、Damian Crawford、Felix Gliesche、April Carter Grant、Heidi、jim tierney、Andrea Giammarchi、Nico Vignola、Don Jones、Chris Hartjes、Alex Howes、john gibbon、David J. Groom、BBox、Yu Dilys Sun、Nate Steiner、 Brandon Satrom、Brian Wyant、Wesley Hales、 Ian Pouncey、Timothy Kevin Oxley、George Terezakis、sanjay raj、Jordan Harband、Marko McLion、Wolfgang Kaufmann、Pascal
The above is a preview of the first 20 pages. Register to read the complete e-book.

💝 Support Author

0.00
Total Amount (¥)
0
Donation Count

Login to support the author

Login Now
Back to List