你 不 知道 的 javascript 中 卷

我要写书评

你不知道的JavaScript(中卷)的书评 · · · · · · ( 全部 4 条 )

你 不 知道 的 javascript 中 卷
披萨蘸醋 2022-05-21 15:28:38

我坚持不下去了,还是去看英文原版吧

这篇书评可能有关键情节透露

For example, consider an Ajax response handler that needs to run through a long list of results to transform the values. We'll use Array#map(..) to keep the code shorter: 举例来说,考虑一个需要遍历很长的结果列表进行值转换的 Ajax 响应处理函数。我们会 使用 Ar...  (展开)

你 不 知道 的 javascript 中 卷
披萨蘸醋 2022-05-21 15:01:42

内容不错,翻译极其拉跨——阅读就是靠猜

这篇书评可能有关键情节透露

还有一种并发合作式方式,称为并发协作。这里的重点不再是通过共享作用域的值进行交互,这里的目标是取得一个长期运行的「进程」,并将其分隔成多个任务,使得其他并发「进程」有机会将自己的运算插入到事件循环队列中交替运行。 我不懂这里这句话的意思,什么叫其他并发进程,...  (展开)

你 不 知道 的 javascript 中 卷
洗头用飘柔 2016-11-08 22:22:07

才读了20多页,感觉还不错。但是发现一个错误的例子

这篇书评可能有关键情节透露

第22页关于void运算符的例子,我认为不对。 function doSomething() { if(!App.ready){ return void setTimeout(doSomething, 100); } var result; return result; } if(doSomething()){ //立即执行下一个任务 } ===========================...  (展开)

你 不 知道 的 javascript 中 卷
river 2016-10-28 12:47:48

一个错误

p82. 书中:条件判断a==null仅在。。。。。。 原文: The a == null check will pass only if doSomething() returns either null or undefined, and will fail with any other value, even other falsy values like 0, false, and "". https://github.com/getify/You-Dont-...  (展开)

> 更多书评 4篇

Permalink

master

Switch branches/tags

Could not load branches

Nothing to show

{{ refName }}

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Go to file

  • Go to file
  • Copy path
  • Copy permalink

Cannot retrieve contributors at this time

35 MB

Download

  • Open with Desktop
  • Download
  • Delete file

Sorry, something went wrong. Reload?

Sorry, we cannot display this file.

Sorry, this file is invalid so it cannot be displayed.

售后保障

正品行货 京东商城向您保证所售商品均为正品行货,京东自营商品开具机打发票或电子发票。无忧退货 客户购买京东自营商品7日内(含7日,自客户收到商品之日起计算),在保证商品完好的前提下,可无理由退货。(部分商品除外,详情请见各商品细则)

权利声明:
京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。

注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。

印刷版次不同,印刷时间和版次以实物为准。

价格说明:

京东价:京东价为商品的销售价,是您最终决定是否购买商品的依据。

划线价:商品展示的划横线价格为参考价,并非原价,该价格可能是品牌专柜标价、商品吊牌价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或其他真实有依据的价格;由于地区、时间的差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与您购物时展示的不一致,该价格仅供您参考。

折扣:如无特殊说明,折扣指销售商在原价、或划线价(如品牌专柜标价、商品吊牌价、厂商指导价、厂商建议零售价)等某一价格基础上计算出的优惠比例或优惠金额;如有疑问,您可在购买前联系销售商进行咨询。

异常问题:商品促销信息以商品详情页“促销”栏中的信息为准;商品的具体售价以订单结算页价格为准;如您发现活动商品售价或促销信息有异常,建议购买前先联系销售商咨询。

前言
第一部分 類型和語法

第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.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 小結
附錄A 混合環境JavaScript

第二部分 異步和性能

第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 模擬Web Worker
5.2 SIMD
5.3 asm.js
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 小結

附錄A asynquence 庫
附錄B 高級異步模式