小苏子
小苏子PDF在线图书

你不知道的JavaScript(中卷) 内容简介

你不知道的JavaScript(中卷) 内容简介

你不知道的JavaScript(中卷) 目录

你不知道的JavaScript(中卷) 精彩文摘

JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。版权信息O’Reilly Media, Inc.介绍业界评论前言第一部分 类型和语法序第1章 类型1.1 类型1.2 内置类型1.3 值和类型1.4 小结第2章 值2.1 数组2.2 字符串2.3 数字2.4 特殊数值2.5 值和引用2.6 小结第3章 原生函数3.1 内部属性 [[Class]]3.2 封装对象包装3.3 拆封3.4 原生函数作为构造函数3.5 小结第4章 强制类型转换4.1 值类型转换4.2 抽象值操作4.3 显式强制类型转换4.4 隐式强制类型转换4.5 宽松相等和严格相等4.6 抽象关系比较4.7 小结第5章 语法5.1 语句和表达式5.2 运算符优先级5.3 自动分号5.4 错误5.5 函数参数5.6 try..finally5.7 switch5.8 小结附录 A 混合环境 JavaScript第二部分 异步和性能序第1章 异步:现在与将来1.1 分块的程序1.2 事件循环1.3 并行线程1.4 并发1.5 任务1.6 语句顺序1.7 小结第2章 回调2.1 continuation2.2 顺序的大脑2.3 信任问题2.4 省点回调2.5 小结第3章 Promise3.1 什么是 Promise3.2 具有 then 方法的鸭子类型3.3 Promise 信任问题3.4 链式流3.5 错误处理3.6 Promise 模式3.7 Promise API 概述3.8 Promise 局限性3.9 小结第4章 生成器4.1 打破完整运行4.2 生成器产生值4.3 异步迭代生成器4.4 生成器 +Promise4.5 生成器委托4.6 生成器并发4.7 形实转换程序4.8 ES6 之前的生成器4.9 小结第5章 程序性能5.1 Web Worker5.2 SIMD5.3 asm.js5.4 小结第6章 性能测试与调优6.1 性能测试6.2 环境为王6.3 jsPerf.com6.4 写好测试6.5 微性能6.6 尾调用优化6.7 小结附录 A asynquence 库附录 B 高级异步模式本规范中的运算法则所操纵的值均有相应的类型。本节中定义了所有可能出现的类型。ECMAScript 类型又进一步细分为语言类型和规范类型。ECMAScript 语言中所有的值都有一个对应的语言类型。ECMAScript 语言类型包括 Undefined、Null、Boolean、String、Number和 Object。喜欢强类型(又称静态类型)语言的人也许会认为“类型”一词用在这里不妥。“类型”在强类型语言中的涵义要广很多。也有人认为,JavaScript 中的“类型”应该称为“标签”(tag)或者“子类型”(subtype)。本书中,我们这样来定义“类型”(与规范类似):对语言引擎和开发人员来说,类型是值的内部特征,它定义了值的行为,以使其区别于其他值。换句话说,如果语言引擎和开发人员对 42(数字)和 “42”(字符串)采取不同的处理方式,那就说明它们是不同的类型,一个是 number,一个是 string。通常我们对数字 42 进行数学运算,而对字符串 “42” 进行字符串操作,比如输出到页面。它们是不同的类型。上述定义并非完美,不过对于本书已经足够,也和 JavaScript 语言对自身的描述一致。撇开学术界对类型定义的分歧,为什么说 JavaScript 是否有类型也很重要呢?要正确合理地进行类型转换(参见第4章),我们必须掌握 JavaScript 中的各个类型及其内在行为。几乎所有的 JavaScript 程序都会涉及某种形式的强制类型转换,处理这些情况时我们需要有充分的把握和自信。如果要将42作为 string 来处理,比如获得其中第二个字符 “2”,就需要将它从 number(强制类型)转换为 string。这看似简单,但是强制类型转换形式多样。有些方式简明易懂,也很安全,然而稍不留神,就会出现意想不到的结果。强制类型转换是 JavaScript 开发人员最头疼的问题之一,它常被诟病为语言设计上的一个缺陷,太危险,应该束之高阁。全面掌握 JavaScript 的类型之后,我们旨在改变对强制类型转换的成见,看到它的好处并且意识到它的缺点被过分夸大了。现在先让我们来深入了解一下值和类型。JavaScript 有七种内置类型:●空值(null)●未定义(undefined)●布尔值(boolean)●数字(number)●字符串(string)●对象(object)●符号(symbol,ES6 中新增)

赞(0)
未经允许不得转载:小苏子图书 » 你不知道的JavaScript(中卷) 内容简介