读书笔记
张子溪
前端工程师
展开
-
《JavaScript权威指南》 -- 读书笔记
2016/5/4本书分为四个部分:第一部分:JavaScript 语言核心 (1~12章) 第二部分:客户端 JavaScript (13~22章) 第三部分:JavaScript 核心参考 第四部分:客户端 JavaScript 参考原创 2016-12-30 21:33:10 · 533 阅读 · 0 评论 -
读书笔记:深入理解ES6 (附录A)
附录A:ES6中较小的改动第1节 使用整数 JavaScript 使用 IEEE 754 编码系统来表示整数和浮点数,多年来这给开发者造成了不少混乱。ES6力图通过降低整数的识别和使用的难度来解决这些问题。 1. 由于浮点数和整数的存储方式不同,Number.isInteger() 方法利用了这种存储的差异来确定该值是否为整数。 2. 只给数字添加小数点不会让整数变为浮...原创 2019-09-15 15:22:37 · 125 阅读 · 0 评论 -
读书笔记:深入理解ES6 (十三)
第十三章 用模块封装代码 其他语言使用诸如包这样的概念来定义代码作用域,在ES6以前,Javascript用“共享一切”的方法加载代码,定义的一切都共享一个全局作用域,随着Web应用程序更加复杂,代码量的增加,这一做法会引起命名冲突、安全问题等。 ES6的一个目标是解决作用域问题,也为了让程序显得有序,于是引入了模块。第1节 什么是模块? 1. 模块的定义 模块...原创 2019-09-15 12:18:55 · 128 阅读 · 0 评论 -
读书笔记:深入理解ES6 (十二)
第十二章 代理(Proxy)和反射(Reflection)API ES6添加了一些内建对象,赋予开发者更多访问JavaScript引擎的能力。代理(Proxy)是一种可以拦截并改变底层 JavaScript 引擎操作的包装器,在新语言中,通过它暴露内部运作的对象。第1节 数组问题 在ES6出现以前,开发者不能通过自己定义的对象模仿 JavaScript 数组对象的行为方式。但...原创 2019-09-14 18:20:28 · 145 阅读 · 0 评论 -
读书笔记:深入理解ES6(十一)
第十一章 Promise与异步编程 Promise可以实现其他语言中类似Future和Deferred一样的功能,是另一种异步编程的选择,它既可以像事件和回调函数一样指定稍后执行的代码,也可以明确指示代码是否成功执行。第1节 异步编程的背景知识 1. 机制 JavaScript引擎是基于单线程(Single-threaded)事件循环的概念构建,即同一时刻只允许一个...原创 2019-09-14 12:34:13 · 136 阅读 · 0 评论 -
读书笔记:深入理解ES6(十)
第十章 改进的数组功能 ES6标准在ES5的基础上,继续改进数组,为数组添加了很多新功能。例如:创建数组的新方法、几个实用便捷的方法及创建定型数组(Typed Array)的能力。本章一一讲解这些新特性。第1节 创建数组 1. 传统的创建数组的方法。 在ES6以前,创建数组的方式有两种:一种是调用Array构造函数,一种是使用数组自面量语法。由于在使用Array构造函数...原创 2019-09-12 15:54:23 · 160 阅读 · 0 评论 -
读书笔记:深入理解ES6 (九)
第九章 JavaScript中的类第1节 ES5中的近类结构 ES5及早期版本中没有类的概念,因此用了一个相近的思路来创建一个自定义类型:首先创建一个构造函数,然后定义另一个方法并赋值给构造函数的原型。例如: function PersonType(name) { this.name = name; } PersonType.prototype...原创 2019-09-12 11:28:46 · 154 阅读 · 0 评论 -
读书笔记:深入理解ES6 (八)
第八章 迭代器(Iterator)与生成器(Generator)第1节 循环语句的问题 在循环、多重循环中,通过变量来跟踪数组索引的行为容易导致程序出错。迭代器的出现旨在消除这种复杂性,并减少循环中的错误。第2节 什么是迭代器? 迭代器是一种特殊对象。它有一些专门为迭代过程设计的专有接口。例如:next( )方法,该方法用于返回一个结果对象。结果对象有两个属性:va...原创 2019-09-11 21:02:36 · 144 阅读 · 0 评论 -
读书笔记:深入理解ES6 (七)
第7章 Set集合与Map集合序:在ES5中,开发者们已经使用非数组对象实现了类似Set集合、Map集合的类似的功能。在ES6中,新标准将Set集合与Map集合添加到了JavaScript中。第1节 ES5中的Set集合与Map集合 在ES5中,开发者们经常用对象属性来模拟这两种组合。一般来说,Set集合常被用于检查对象中是否存在某一个键名,而Map集合常被用于获取已存的...原创 2019-09-07 11:00:03 · 131 阅读 · 0 评论 -
读书笔记:深入理解ES6 (六)
第6章 Symbol 和 Symbol属性第1节 创建 Symbol 1.1 Symbol 指的是ES6中的私有属性 1.2 创建语法: let firstName = Symbol(); let person = {}; person[firstName] = "zxx"; console.log(person[firstName]); //"zxx"第...原创 2019-09-06 11:52:02 · 131 阅读 · 0 评论 -
读书笔记:深入理解ES6 (五)
第五章 解构:使数据访问更便捷第1节 为什么使用解构功能? 在ES5中,开发者们从对象、数组中获取特定数据并赋值给变量,编写了很多看起来同质化的代码。例如:let options = { repeat: true, save: false}; //从对象中提取数据let repeat = options.repeat, save = options...原创 2019-09-04 12:09:48 · 165 阅读 · 0 评论 -
读书笔记:深入理解ES6 (四)
第四章 扩展对象的功能性第1节 对象类比 1.1 对象的分类:普通对象 特异对象(Exotic) 标准对象 内建对象 1.2 四类对象的关系: 第2节 对象字面量语法扩展 2.1 属性初始值的所系。 原来是这样声明对象和其内部属性:function createPerson(name, age){ return { ...原创 2019-09-03 11:24:32 · 162 阅读 · 0 评论 -
读书笔记:深入理解ES6 (三)
第三章 函数这一章主要介绍了在ES6规范中,对于函数这一块知识进行的一些修订和改进,主要目的就是让使用JavaScript编程可以更少出错,同时也更加灵活。第1节. 函数形参的默认值 1.1 在ES5中,在函数体内要对形参的值进行进一步的判断,如果不满足条件,则给其一个默认值。例如:function makeRequest(url, timeout, callback) ...原创 2019-08-31 09:36:55 · 207 阅读 · 0 评论 -
读书笔记:深入理解ES6 (二)
第2章 字符串和正则表达式这一章主要介绍了ES6中字符串和正则表达式中的一些(语法上的)更新。下面,我将对平时开发用到比较多的地方提炼出来,供大家阅读使用。 1. 更好的Unicode支持。 先说一下前提,在字符串中,字符串里面的字符有两种:一种是有一个编码单元16位表示的BMP字符;另一种是由两个编码单元32位表示的辅助平面字符。这两种字符是不一样的。 1.1 no...原创 2019-08-29 23:39:27 · 110 阅读 · 0 评论 -
读书笔记:深入理解ES6(一)
开篇词:这是一篇关于《深入理解ES6》的读书笔记的第一篇,主要是读第一章的笔记。该笔记基本上只记录思路和核心知识点,具体内容可以参考书上的代码和细节讲解,以求达到提纲挈领和后期方便温习的作用。第1章 块级作用域绑定 1. var声明和变量提升(hoisting)机制。 该节中,主要讲述了作为原来ES5中经常使用到的关键字: var 来声明变量的一些小的缺陷,包括它声...原创 2019-08-29 20:05:02 · 181 阅读 · 0 评论 -
读 张光斗:给老百姓干活的工程师 有感
原文作者:张严平1. ”我年纪已经很大了,很多事情做不了了“ --这是张光斗先生自己说的,当时年龄已经很大了。由此想到,如果我们有想做的事,尽量趁年轻的时候去完成吧。2. 张光斗说:”我愿把自己全部的本事使出来,让国家用得上。“ --这是一种怎样的高境界啊,试问自己有想过类似的想法吗?3. ”他每天拿着高倍放大镜,从早到晚,逐字逐句反复原创 2016-12-30 22:03:34 · 488 阅读 · 0 评论 -
读书笔记 -- 《代码之髓》
2016/2/20如何学习?1. 在比较中学习。通过比较多种语言,总结出某种语言的独有特点,以及多种语言的共有特点。2. 在历史中学习。 通过追溯语言的发展历史,了解语言是如何产生、变化和消失的,探寻语言发展演变的轨迹。3. 在实践中学习。亲自进行程序设计,边实践边思考如何编程,才能深入理解语言设计者的意图,同时也能发现自己原先理解不到位之处。2016/原创 2016-12-30 21:37:55 · 327 阅读 · 0 评论 -
读书笔记:深入理解ES6 (附录B)
附录B:了解ES7(2016) ES6经历了4年的发展,之后TC-39决定将发布周期转换为每年一版,以确保新语言特性能够更快地发展。 ES6中添加了三个语法特性,下面一一来讲。第1节 指数运算符 1. 在之前的时候,可以通过 Math.pow() 方法来执行求幂运算,但这毕竟是一个方法,一些开发者更希望通过操作符就可以实现这个功能。所以在ES6中,使用了两个星号 “**...原创 2019-09-15 16:10:11 · 153 阅读 · 0 评论