ES6 学习 -- Generator函数】的更多相关文章

(1)语法说明:Generator函数其实是一个普通函数,其有两个特点,一是,function关键字与函数名之间有一个星号(*):二是Generator函数内部使用yield表达式,定义不同的状态,然后分段的去执行,如下:function * helloWorld() { yield "hello"; yield "world"; return "end";}// 说明:定义一个Generator函数helloWorld,此时Generator函…
generator是什么? generator是ES6提供的一种异步编程解决方案,在语法上,可以把它理解为一个状态机,内部封装了多种状态.执行generator,会生成返回一个遍历器对象.返回的遍历器对象,可以依次遍历generator函数的每一个状态.同时ES6规定这个遍历器是Generator函数的实例,也继承了Genarator函数的prototype对象上的方法. 最简单的generator函数,其实它就是一个普通的函数,但是它有两个特征.第一就是function关键字与函数名之间有一个…
1. 箭头函数基本形式 let func = (num) => num; let func = () => num; let sum = (num1,num2) => num1 + num2; [1,2,3].map(x => x * x); 2. 箭头函数基本特点 (1). 箭头函数this为父作用域的this,不是调用时的this 箭头函数的this永远指向其父作用域,任何方法都改变不了,包括call,apply,bind.普通函数的this指向调用它的那个对象. let pe…
函数默认参数 function test(x = 1, y = 2) { return x + y } test(5, 6) test() 若默认参数在必须参数之前,要想取得默认参数,只有当传入的值为undefined才能取到 function test(x = 1, y) { console.log(x,y) } test(5, 6) //5,6 test(1) //3 undefined test(null,1) //null 1 test(undefined,1) //1,1 参数默认值是…
1.函数默认参数 在ES5我们给函数定义参数默认值是怎么样? function action(num) { num = num || 200 //当传入num时,num为传入的值 //当没传入参数时,num即有了默认值200 return num } action(0) action("") // 200 action(1) // 1 但当,num传入为0的时候就是false, 此时num = 200 与我们的实际要的效果明显不一样 ES6为参数提供了默认值.在定义函数时便初始化了这个…
1. 基本概念 状态机,封装了多个内部状态 2. 应用 返回一个遍历器对象. 3. 代码形式 function* helloWorldGenertor() { yield 'hello'; yield 'world'; return 'ending'; } var hw = helloWorldGenertor(); 调用 hw.next() hw.next() // { value: 'hello', done: false } hw.next() // { value: 'world', d…
(1).只有一个参数且只有一句表达式语句的,函数表达式的花括号可以不写let test = a => a; // 只有一个参数a,这里的表达式相当于 "return a" (2).如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分.let getData = () => { 表达式语句... } // 没有任何参数 let getInit = (name, date) => { 表达式语句... } // 两个及以上参数 (3).返回值为一个对象时,需…
1 前情摘要 前段时间时间进行项目开发,需求安排不是很合理,导致一直高强度的加班工作,这一个月不是常说的996,简直是936,还好熬过来了.在此期间不是刚学会了es6的promise,在项目有用到promise的就一直都在用promise,爽的不要不要的,哈哈,项目到了最终阶段,不是很忙了,就开始自己的学习之路,好啦,废话到此为止,开始- 2 含义 关于异步操作,在es6之前,一直都是 回调函数, 事件监听, 发布/订阅 promise对象 (摘自es6的Generator函数的异步应用),这四…
1.传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种. 回调函数 事件监听 发布/订阅 Promise 对象 Generator 函数将 JavaScript 异步编程带入了一个全新的阶段. 2.基本概念 异步 所谓"异步",简单说就是一个任务不是连续完成的,可以理解成该任务被人为分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段. 比如,有一个任务是读取文件进行处理,任务的第一段是向操作系统发出请求,要求读取文件.然后,程序执行其他任务,等到操作…
清明时节雨纷纷,路上行人欲断魂. 借问酒家何处有,牧童遥指杏花村. 二零一九年农历三月初一,清明节. 1.简介 1.1.基本概念 Generator 函数也是 ES6 提供的一种异步编程解决方案,据说在Promise没有诞生之前就靠Generator,但由于用起来比较困难而被取代了. Generator 函数有多种理解角度.语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态. 执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数…