第一部分 类型和语法

第1章 类型

  1.1 类型

  1.2 内置类型

  1.3 值和类型

    1.3.1 undefined和undeclared

    1.3.2 typeof Undeclared

  1.4 小结

第2章 值

  2.1 数组

  2.2 字符串

  2.3 数字

    2.3.1 数字的语法

    2.3.2 较小的数值

    2.3.3 整数的安全范围

    2.3.4 整数检测

    2.3.5 32位有符号整数

  2.4 特殊数值

    2.4.1 不是值的值

    2.4.2 undefined

    2.4.3 特殊的数字

    2.4.4 特殊等式

  2.5 值和引用

  2.6 小结

第3章 原生函数

  3.1 内部属性[[Class]]

  3.2 封装对象包装

  3.3. 拆封

  3.4 原生函数作为构造函数

    3.4.1 Array(..)

    3.4.2 Object(..),Function(..)和RegExp(..)

    3.4.3 Date(..)和Error(..)

    3.4.4 Symbol(..)

    3.4.5 原生原型

  3.5 小结

第4章 强制类型转换

  4.1 值类型转换

  4.2 抽象值操作

    4.2.1 ToString

    4.2.2 ToNumber

    4.2.3 ToBoolean

  4.3 显式强制类型转换

    4.3.1 字符串和数字之剑的显式转换

    4.3.2 显式解析数字字符串

    4.3.3 显式转换为布尔值

  4.4 隐式强制类型转换

    4.4.1 隐式地简化

    4.4.2 字符串和数字之间的隐式强制类型转换

    4.4.3 布尔值到数字的隐式强制类型转换

    4.4.4 隐式强制类型转换为布尔值

    4.4.5 ||和&

    4.4.6 符号的强制类型转换

  4.5 宽松相等和严格相等

    4.5.1 相等比较操作的性能

    4.5.2 抽象相等

    4.5.3 比较少见的情况

  4.6 抽象关系比较

  4.7 小结

第5章 语法

  5.1 语法和表达式

    5.1.1 语句的结果值

    5.1.2 表达式的副作用

    5.1.3 上下文规则

  5.2 运算符优先级

    5.2.1 短路

    5.2.2 更强的绑定

    5.2.3 关联

    5.2.4 释疑

  5.3 自动分号

  5.4 错误

  5.5 函数参数

  5.6 try..finally

  5.7 switch

  5.8 小结

第二部分 异步和性能

第1章 异步:现在与将来

  1.1 分块的程序

  1.2 事件循环

  1.3 并行线程

  1.4 并发

    1.4.1 非交互

    1.4.2 交互

    1.4.3 协作

  1.5 任务

  1.6 语句顺序

  1.7 小结

第2章 回调

  2.1 continuation

  2.2 顺序的大脑

    2.2.1 执行与计划

    2.2.2 嵌套回调与链式回调

  2.3 信任问题

    2.3.1 五个回调的故事

    2.3.2 不只是别人的代码

  2.4 省点回调

  2.5 小结

第3章 Promise

  3.1 什么是Promise

    3.1.1 未来值

    3.1.2 完成事件

  3.2 具有then方法的鸭子类型

  3.3 Promise信任问题

    3.3.1 调用过早

    3.3.2 调用过晚

    3.3.3 回调未调用

    3.3.4 调用次数过少或过多

    3.3.5 未能传递参数/环境值

    3.3.6 吞掉错误与异常

    3.3.7 是可信任的Promise吗

    3.3.8 建立信任

  3.4 链式流

  3.5 错误处理

    3.5.1 绝望的陷阱

    3.5.2 处理未捕获的情况

    3.5.3 成功的坑

  3.6 Promise模式

    3.6.1 Promise.all([..])

    3.6.2 Promise.race([..])

    3.6.3 all([..])和race([..])的变体

    3.6.4 并发迭代

  3.7 Promise API概述

    3.7.1 new Promise(..)构造器

    3.7.2 Promise.resolve(..)和Promise.reject(..)

    3.7.3 then(..)和catch(..)

    3.7.4 Promise.all([..])和Promise.race([..])

  3.8 Promise局限性

    3.8.1 顺序错误处理

    3.8.2 单一值

    3.8.3 单决议

    3.8.4 惯性

    3.8.5 无法取消的Promise

    3.8.6 Promise性能

  3.9 小结

第4章 生成器

  4.1 打破完整运行

    4.1.1 输入和输出

    4.1.2 多个迭代器

  4.2 生成器产生值

    4.2.1 生产者与迭代器

    4.2.2 iterable

    4.2.3 生成器迭代器

  4.3 异步迭代生成器

  4.4 生成器+Promise

    4.4.1 支持Promise的Generator Runner

    4.4.2 生成器中的Promise并发

  4.5 生成器委托

    4.5.1 为什么用委托

    4.5.2 消息委托

    4.5.3 异步委托

    4.5.4 递归委托

  4.6 生成器并发

  4.7 形实转换程序

  4.8 ES6之前的生成器

    4.8.1 手工变换

    4.8.2 自动转换

  4.9 小结

第5章 程序性能

  5.1 Web Worker

    5.1.1 Worker环境

    5.1.2 数据传递

    5.1.3 共享Worker

    5.1.4 模拟WebWorker

  5.2 SIMD

  5.3 asm.j

    5.3.1 如何使用asm.js优化

    5.3.2 asm.js模块

  5.4 小结

第6章 性能测试与调优

  6.1 性能测试

    6.1.1 重复

    6.1.2 Benchmark.js

  6.2 环境为王

  6.3 jsPerf.com

  6.4 写好测试

  6.5 微性能

    6.5.1 不是所有的引擎都类似

    6.5.2 大局

  6.6 尾调用优化

  6.7 小结

你不知道的JavaScript(中卷) (Kyle Simpson 著)的更多相关文章

  1. 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值

    一.类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object ...

  2. 【你不知道的javaScript 中卷 笔记2】javaScript中的类型转换

    1.1 对象内部属性 [[Class]] 常见的原生函数: String() Number() Boolean() Array() Object() Function() RegExp() Date( ...

  3. 你不知道的JavaScript中,读书笔记

    七种内置类型 null, undefined, boolean, number, string, object, symbol typeof null === 'object' // true nul ...

  4. javascript中的未定义和未声明

    我们在项目中,经常会定义一些变量(很多时候,定义过多的全局变量),当我们调用这些变量的时候,就会发生各种各样的突发状况. 看一个示例: var a; typeof a; typeof b; 很简单的一 ...

  5. 《你不知道的JavaScript(中卷)》读书笔记

    中卷有点无聊,不过也是有干货的,但是好像要背一下的样子.不过作者大大都夸我是“优秀的开发人员”了,肯定要看完呀~~ 开发人员觉得它们太晦涩,很难掌握和运用,弊(导致bug)大于利(提高代码可读性).这 ...

  6. 你不知道的JavaScript(下卷) (Kyle Simpson 著)

    第一部分 起步上路 第1章 深入编程 1.1 代码 1.2 表达式 1.3 实践 1.3.1 输出 1.3.2 输入 1.4 运算符 1.5 值与类型 1.6 代码注释 1.7 变量 1.8 块 1. ...

  7. 你不知道的JavaScript(上卷) (Kyle Simpson 著)

    第一部分 作用域和闭包 第1章 作用域是什么 (已看) 1.1 编译原理 1.2 理解作用域 1.2.1 演员表 1.2.2 对话 1.2.3 编译器有话说 1.2.4 引擎和作用域的对话 1.2.5 ...

  8. 《你不知道的JavaScript》三卷读后感

    本系列的作者是Kyle Simpson,上卷译者赵望野.梁杰,中卷译者单业,下卷译者单业.姜南. 我个人觉得第一卷是本系列最好的(必读),而第二卷虽然也讲解了很多知识点,但是对于异步和性能的那部分提及 ...

  9. JavaScript中的this(你不知道的JavaScript)

    JavaScript中的this,刚接触JavaScript时大家都在大肆渲染说其多么多么的灵巧重要,然而自己并不关心:随着自己对JavaScript一步步深入了解,突然恍然大悟,原来它真的很重要!所 ...

随机推荐

  1. 谷歌浏览器慎用有道词典插件(<audio></audio>) (转载)

    谷歌浏览器慎用有道词典插件(<audio></audio>)  原文 :http://blog.csdn.net/u010556394/article/details/7112 ...

  2. 04 复制删除行为IDA反汇编

     (很久以前的学习记录,放到博客上来)   (IDA5.0版的不知道为何反汇编进去每一行被截断的景象,惨不忍睹......明明是个正版的.只好回来用拷过来的破解版,依然有一些叽里呱啦的问题,懒得管了, ...

  3. mybatis column 和property

    mybatis map文件中 resultMap中column和sql查询结果对应, property和实体private对应 <resultMap id="VideoYcAppRes ...

  4. dubbo的几种配置方式(转)

    昨天刚接触公司dubbo,发现公司中项目里面的spring-dubbo-privider的dubbo中<dubbo:application name=""/>和< ...

  5. Oracle数据库三种备份方案

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...

  6. php 正则概述

    修饰符   s 模式中的点号元字符匹配所有字符 非打印字符 字符  含义  \cx  匹配由x指明的控制字符.例如, \cM 匹配一个 Control-M 或回车符.x 的值必须为 A-Z 或 a-z ...

  7. 《uniGUI for cBuilder入门到精通》新书预定

    <uniGUI for cBuilder入门到精通>火热预定中,从零开始带你入瓮带你飞,手把手教你如何快速安装,开发和部署一个web系统,前十名用户售价暂定100元,后续价格每本200元, ...

  8. Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1

    English Version could be find at Osmocom.org https://osmocom.org/projects/cellular-infrastructure/wi ...

  9. python day17面向对象-组合

    组合: 给一个类的对象封装一个属性,这个属性是另一个类的对象. class GameRole: def __init__(self, name, ad, hp): self.name = name s ...

  10. 河南省第四届ACM省赛(T1) 序号互换

    问题 A: 序号互换 时间限制: 1 Sec  内存限制: 128 MB难度1 题目描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编 ...