美文网首页
无事爱翻书——你不知道的JavaScript 中卷

无事爱翻书——你不知道的JavaScript 中卷

作者: 水煮香蕉 | 来源:发表于2019-08-11 21:18 被阅读0次

无事爱翻书——你不知道的JavaScript 中卷

短评

翻完了中卷,整体评价三星。不是很感兴趣。读这本书的时候缺乏兴趣,看的很局促,很多内容没有仔细阅读。

很多内容,我更倾向于在其他地方阅读,比如 MDN和口水掘金。


你不知道的JavaScript 中卷

结构

本书分为四部分 : 类型types 语法grammar 异步async 和性能performance

类型和语法

typeof

所有 typeof 返回 object的对象,比如数组,都包含一个内部属性 [[Class],这可以视为内部的一个分类,一般通过这种方式获得

Object.prototype.toString.call(new Date())
//"[object Date]"
Object.prototype.toString.call([1])
//"[object Array]"

document.all

falsy(虚值)是在 Boolean 上下文中已认定可转换为‘假‘的值.

document.all是一个对象,但在在类型转换时候会视为 false,这个是为了对历史代码的兼容性,很多代码用这个判断是否是 ie

if(document.all){
// ie
alert('ie')
}

|| && 返回值

和直觉可能不一样,|| && 返回的值不一定是布尔值,而是两个操作数其中一个的值。但并不影响你直觉上的判断结果。

var a =0;
var b ='abc'
var c=null

a||b;
b||c
a&&b

Cphp里会返回true或者false,但在js python ruby里返回的某个操作数的值。

判断会对左边进行条件判断,如果不是布尔值会强制类型转换,然后计算

返回的是什么值?

  • 如果是 || 运算,左边是true就返回左边,如果是false就返回右边

  • 如果是 &&操作,如果是true就返回右边,false返回左边

所以

function a(a,b){
    a = a || 'defalut'
    b = b || 'd2'
    return a+','+b
}

这里会对两边进行 ||判断,结果是真返回左边,结果否返回右边

小细节

else if并不存在

else if 不是规定的语法,是自己发明的语法

if(){

}else {
    if(){}
}
//这里简写成了 else if

异步

异步这里,收获不是很大,说的不感兴趣。

但后续可以整理 promise/A+ 规范

对生成器不感兴趣,哈欠连连,看豆瓣评论很多人也表示需要细细品读,变相承认写的缺乏吸引力

性能

Web Worker

有些处理密集的任务需要执行,希望以多线程的方式执行。

应用场景:

  • 密集的数学计算
  • 大数据集排序
  • 数据处理,压缩,音频分析 图像处理等
  • 高流量网络通信

SIMD

单指令多数据,杜宇数据密集型的应用,性能收益明显。不是很详细。

其他的都忽略了

性能调试

写的非常局促,没有展开说。

循环运行多次操作求平均值的做法不正确,推荐使用 benchmark.js来获取性能结果,也有一个网站可以搜集不同设备上的性能数据 jspref.com

性能优化应该关注大局,关键路径应该付出努力优化,费关键路径可以忽略。

结论

怀疑是我菜,还达不到刨根究底的地步,收获不大。

相关文章

  • 无事爱翻书——你不知道的JavaScript 中卷

    无事爱翻书——你不知道的JavaScript 中卷 短评 翻完了中卷,整体评价三星。不是很感兴趣。读这本书的时候缺...

  • 你不知道的JavaScript(中卷)|类型

    关于在我的前端文集中发表的你不知道的JavaScript(中卷)|xx,是我在阅读《你不知道的JavaScript...

  • 无事乱翻书,无事多翻书

    最近在努力做到每天看一会书,即使有时真就看了二三十分钟,但内心会因此安宁一些,也不会觉得一天下来无所事事。 微博一...

  • 无事翻书

    文/苏怀亮 无事翻书,这是怎样一种信息状态呢?翻书是不会引起歧义的,问题恐怕在于无事。无事有两种可能,一是清闲,不...

  • 无事翻书

    无事翻书,这是怎样一种信息状态呢?翻书是不会引起歧义的,问题恐怕在于无事。无事有两种可能,一是清闲,不为衣食...

  • 《你不知道的JavaScript(中卷)》

    前言 本文作为对本书的一些知识点的收集 正文 1. 类型 ECMAScript 语言类型包括 Undefined...

  • 你不知道的javascript(中卷)

    javascript中变量没有类型,值有类型。 typeof 的怪异之处:typeof null === 'obj...

  • 你不知道的javascript(中卷)

    第一部分 1.类型 js有几种内置类型基本类型:null,string,undefined,number,bool...

  • javascript隐式类型转换详解

    javascript隐式类型转换详解 注:本文有小部分参考自你不知道的JavaScript中卷 1.==之间发生的...

  • ToPrimitive == === > <

    参考《你不知道的JavaScript(中卷)》第四章 理解 ToPrimitive 操作 就能理解了JS 中的有点...

网友评论

      本文标题:无事爱翻书——你不知道的JavaScript 中卷

      本文链接:https://www.haomeiwen.com/subject/outejctx.html