
ES6
冰雪为融
我与我周旋久,宁做我
展开
-
手动实现Promise.all
想要实现Promise.all()功能,关键点/** 1、接受一个数组作为参数,或者具有 Iterator 接口的参数* 2、参数支持Promise对象和普通的对象,如果不是Promise对象就会调用Promise.resolve,将参数转为Promise实例* 3、返回一个Promise对象,且返回的每个成员都是Promise实例* 4、只有全部成功才算成功** */Promise.all1 = function (promises) { return new Promis.原创 2020-12-23 14:19:51 · 341 阅读 · 0 评论 -
ES6之Generator(1)知识点总结(八)
学ES6的时候,我一般会先看一些讲ES6的视频,对要学的概念有个大致的理解之后,再来看阮老师的文章,嗯、每次都会有,原来如此的感觉,阮老师讲的真的很详细,也很好理解,整理一遍是希望能把老师讲的理解的更深入一点,如果您也想要了解这一章的内容建议到阮老师的官方网站看原版,很好很详细http://es6.ruanyifeng.com/#docs/generatorGenerator函数是ES6提供的一种...原创 2018-04-13 15:47:22 · 173 阅读 · 0 评论 -
ES6之Generator(2)知识点总结(九)
记笔记,主要是为了提高学习效率,避免只看不动手,领略不到书的精髓,忽略到书中的重点知识,本文学习主要是根据阮一峰大神走的,很感谢阮一峰大神的无私奉献。如果想要了解更详细的关于本节的内容可以看阮一峰大神的ES6官网http://es6.ruanyifeng.com/#docs/generator嗯、今天主要学的是Generator函数返回的遍历器对象的方法:throw()、return()Gener...原创 2018-04-14 09:49:28 · 469 阅读 · 0 评论 -
ES6中的模块化规范(一)
注意:ES6 的模块自动采用严格模式,不管你有没有在模块头部加上"use strict";。模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。export命令一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。exp...原创 2018-05-09 23:14:39 · 4473 阅读 · 0 评论 -
ES6 模块与 CommonJS 模块的差异
前面我们已经对ES6的模块化规划和CommonJs的模块化规范已经介绍过了,所以今天我们主要聊聊这两种模块化的差异,如果对这两种模块化规范不是特别了解的,可以点击ES6模块化规范和CommonJs模块化规范ES6 模块与 CommonJS 模块完全不同。它们有两个重大差异。CommonJS 输出是值的拷贝,即原来模块中的值改变不会影响已经加载的该值,ES6静态分析,动态引用,输出的是值的引用,值改...原创 2018-05-10 23:07:16 · 4360 阅读 · 0 评论 -
箭头函数中的this指向问题详解
箭头函数有几个使用注意点。(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。上面四点中,第一点尤其值得注意。thi...转载 2018-05-25 20:06:44 · 11653 阅读 · 0 评论 -
ES6中的箭头函数
箭头函数:ES6允许使用箭头函数(=>) //ES5函数写法 var f = function fn(a){ return a; } //ES6函数写法 var f = a => a;箭头函数的正确使用方式1、如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分2、如果箭头函数的代码块部分多于一条语句,就要使用大括号将他们括...原创 2018-07-09 23:36:12 · 172 阅读 · 0 评论 -
js中的reduce和every方法详解
一、reduce()reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值 语法:参数:回调函数(callback)[必选],initialValue[可选]回调函数可以传入四个参数: 1、accumulator【必选】累加器累加回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue2、currentValue【必选】数组中正在处理的元素。3...原创 2018-07-11 14:44:53 · 1436 阅读 · 0 评论 -
ES6之新增数据类型Symbol知识点总结(三)
ES6的学习,主要是跟着阮一峰大神的ES6第三版这本书学的,所以我在这里主要是把知识梳理一遍,方便自己的理解记忆以及日后的再学习使用,如果想要了解更多的建议到http://es6.ruanyifeng.com/#docs/symbol看详细版的ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,它是js语言的第七种数据类型Symbol值通过Symbol函数生成。也就是说,对象的属性名,...原创 2018-04-07 10:20:29 · 784 阅读 · 0 评论 -
ES6之Set和Map数据结构知识点总结(二)
接下来,我们来聊聊ES6 中的Set和Map数据结构ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。Set结构的属性Set.prototype.constructor:构造函数,默认就是Set函数Set.prototype.size:返回Set实例的成员总数。Set 结构的方法分为两大类:操作方法(用于...原创 2018-04-06 19:51:07 · 237 阅读 · 0 评论 -
ES6之数组的扩展知识点总结(五)
ES6的学习,主要是跟着阮一峰大神的ES6第三版这本书学的,所以我在这里主要是把知识梳理一遍,方便自己的理解记忆以及日后的再学习使用,如果想要了解更多的建议到http://es6.ruanyifeng.com/#docs/array看详细版的扩展运算符(spread):是三个点(...)扩展运算符的作用:将一个数组转为用逗号分隔的参数序列。任何 Iterator 接口的对象,都可以用扩展运算符转为...原创 2018-04-08 19:57:39 · 188 阅读 · 0 评论 -
ES6之函数的扩展知识点总结(六)
本人学习ES6看的是阮一峰老师的书,写在博客里是因为,只看不动手总结,很多东西理解的不透彻,也容易忽略掉一些知识点,我也只是把我自己理解并且认为重要的总结在一起,如果想要对这一节有准确而深入的理解,请点击http://es6.ruanyifeng.com/#docs/function嗯、阮老师真的很厉害函数参数的默认值ES6允许为函数的参数设置默认值,即直接写在参数定义的后面。function f...原创 2018-04-09 18:00:24 · 282 阅读 · 0 评论 -
ES6之Generator(3)知识点总结(十)
记笔记,主要是为了提高学习效率,避免只看不动手,领略不到书的精髓,忽略到书中的重点知识,本文学习主要是根据阮一峰大神走的,很感谢阮一峰大神的无私奉献。如果想要了解更详细的关于本节的内容可以看阮一峰大神的ES6官网http://es6.ruanyifeng.com/#docs/generatoryield*表达式如果在Generator函数内部调用另一个Generator函数,默认情况是没有效果的。...原创 2018-04-15 09:19:53 · 388 阅读 · 0 评论 -
ES6之Generator函数(4)知识点总结(十一)
Generator函数的数据交换和错误处理。Generator函数可以暂停执行和恢复执行,这是它能封装异步任务的根本原因。除此之外,它还有两个特性,使他可以作为异步编程的完整解决方案:函数体内的数据交换和错误处理机制。next返回值的value属性,是Generator函数向外输出数据,next方法还可以接受参数,向Generator函数体内输入数function *g(x){ yield...原创 2018-04-16 10:16:20 · 164 阅读 · 0 评论 -
ES6之Promise对象知识点总结(七)
还是要强调一下,我的ES6学习主要参考的是阮一峰大神的书,作笔记的目的,就是把对于我来说比较重要或者易错的点整理出来方便自己再次学习有所偏重,真的对这些不懂的请看原文:http://es6.ruanyifeng.com/#docs/promise阮一峰大神写得真的很好哎先简单介绍一下Promise对象用于异步计算可以将异步操作队列化,按照期望的顺序执行,返回预期的结果可以在对象之间传递和操作Pro...原创 2018-04-11 14:10:03 · 1172 阅读 · 0 评论 -
ES6之async函数(1)知识点总结(十二)
每天集中精力学一会ES6,效果还是蛮好的,嗯,跟着阮一峰大神学功夫喽,如果你也见识见识阮一峰大神的神功,请点击http://es6.ruanyifeng.com/#docs/asyncasync函数的写法和语法:1、async函数就是将Generator函数的星号替换成async,将yield替换成await2、async函数返回一个Promise对象,可以使用then方法添加回调函数。当函数执行...原创 2018-04-17 09:46:45 · 281 阅读 · 0 评论 -
ES6(let 和 const 命令)知识点总结(一)
文章主要来源于阮一峰ES6第三版的内容,我只是把里面对我来说比较容易记错的点或者难理解的点,提取出来,归类整理一下,方便自己以后复习,如果想要了解更多的ES6这些知识的,建议去阮一峰的ES6的官方网站http://es6.ruanyifeng.com/let命令:用来声明一个变量,和var非常类似const命令:用来声明一个常量(是一个不可以变化的量)用let声明变量的注意事项:使用let声明的变...原创 2018-04-04 12:22:54 · 328 阅读 · 0 评论 -
ES6之Class类知识点总结(十三)
好的文章就要分享出来,让更多的小伙伴看到、嗯、继续推荐阮一峰大神的ES6文章,真的很棒,关于Class类的知识,想要了解的更清楚的建议到大神的官网走一走http://es6.ruanyifeng.com/#docs/class-extends我们知道ES5及之前是没有类的概念的,生成实例的方法是通过构造函数,ES6引入了类的概念,通过class关键字,可以定义类 class Person{ ...原创 2018-04-18 10:58:54 · 281 阅读 · 0 评论 -
ES6之Iterator和for of(四)
ES6的学习,主要是跟着阮一峰大神的ES6第三版这本书学的,所以我在这里主要是把知识梳理一遍,方便自己的理解记忆以及日后的再学习使用,如果想要了解更多的建议到http://es6.ruanyifeng.com/#docs/iterator看详细版的JavaScript原有的表示“集合”的数据结构,主要是数组和对象,ES6又添加了Map和Set.用户可以组合使用它们,定义自己的数据结构。这样就需要统...原创 2018-04-07 16:46:35 · 205 阅读 · 0 评论