相信很多学js的人都看过es6,我也是最近才看的es6标准。下面我来说一下我对es6笼统的看法,如有不对欢迎评论交流。

  js有很长很长的历史,大家应该都有了解过。es6是15年发布的版本,由TC39主持对这个标准进行修改。对于我这种比较浅显程度的理解来说,里面的箭头函数,let和count,以及一些数学运算符的增加让我写代码更舒服了。本人觉得标准的更改主要在两个方面,一是支持更加简洁有效的赋值和变量的扩展,另一方面是引入了新的方法的语法和应用。

  第一次看完,印象最深的是generator函数。与平常的函数不同,它可以理解为是一个分布执行的函数,返回值是一个遍历器。例子我就不举了,外部可以通过next(),thow()和return()调用,只是调用的形式不同。在应用方面主要是异步调用,不同于以前的回调函数和Promise(Promise算是对回调函数解决嵌套繁琐问题提出的)。它在每一个yield中部署自己的异步操作,等到需要执行的时候再调用。这算是回调函数的改写。generator函数和Ajax可以一起进行同步操作。它的分布执行的特性决定了它对耗时大的多步操作有很大的改进(generator如果你不执行,那之后的程序系统不会编译)。部署Iterator接口:generator函数可以再任何对象上部署Iterator接口。

  这是我对于generator函数的一点浅显理解,es6很多函数还是很有用处的,先试着用用es6,过段时间再看一遍。

转载于:https://www.cnblogs.com/lankongclub/p/7999237.html

对于es6的小小理解之generator函数相关推荐

  1. ES6学习(九)—Generator 函数的语法

    ES6学习(九)-Generator 函数的语法 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同. Generator函数是一个状态机,内部封装了不同状态的 ...

  2. es6 作为对象属性的Generator函数

    作为对象属性的Generator函数 如果一个对象的属性是 Generator函数,可以简写成下面的形式. let obj = { * myGeneratorMethod() { ··· } }; 上 ...

  3. 理解 ES6 Generator 函数

    Generator函数是ES6引入的新型函数,用于异步编程,跟Promise对象联合使用的话会极大降低异步编程的编写难度和阅读难度. Generator函数跟普通函数的写法有非常大的区别: 一是,fu ...

  4. es6中Generator函数的理解

    Generator函数的定义 形式上,Generator函数是一个普通函数,但是有两个特征. 一是,function关键字与函数名之间有一个星号: 二是,函数体内部使用yield表达式,定义不同的内部 ...

  5. 【ES6】Generator函数详解

    [ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...

  6. es6 Generator函数的含义

    Generator函数的含义 Generator 与状态机 Generator 是实现状态机的最佳结构.比如,下面的clock函数就是一个状态机. var ticking = true; var cl ...

  7. es6 Generator函数概述

    概述 什么是Generator函数 Generator函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同.本章详细介绍 Generator函数的语法和 API,它的异步编程应用请看 ...

  8. ES6——Generator 函数的语法

    Generator 函数是一个状态机,封装了多个内部状态.执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数.返回的遍历器对象 ...

  9. ES6语法总结(21)--Generator函数的异步应用

    Generator 函数的异步应用 传统方法 基本概念 Generator 函数 Thunk 函数 co 模块 异步编程对 JavaScript 语言太重要.JavaScript 语言的执行环境是&q ...

最新文章

  1. 面试常碰到++p/p--问题到底结果是什么?
  2. Nagios的安装和基本配置(二:Nagios-Server的安装)
  3. git进入项目目录 windows_Windows下搭建Git服务器
  4. php heredoc 开启,PHP中nowdoc和heredoc使用需要注意的一点
  5. CVE-2010-3333
  6. 东大18秋计算机网络在线作业1答案,东大17秋学期《计算机网络基础》在线作业3 免费答案...
  7. 如何创建并运行java线程
  8. 反思代码能力提升方法:重构 多写 知识面
  9. checkbox 选中的id拼接长字符串
  10. 使用Azure Functions玩转Serverless
  11. 访问修饰符 public private protected default
  12. esxi linux 网络不可达,将ESXI所有的端口组迁移到分布式交换机的步骤
  13. 浅析信息化项目的信息化绩效评价
  14. 基于tushare和python的证券市场价格分析
  15. Bean Validation——自定义注解
  16. 谷歌图像识别 API
  17. OpenCV 对象跟踪
  18. 执念斩长河入CSDN的第一篇日志
  19. 墨翟科技(上海)有限公司
  20. 阿里mysql密码_阿里云自带mysql 密码

热门文章

  1. kubesphere 3.0离线安装
  2. Scala模式匹配细节说明
  3. Hystrix解决雪崩问题的两种手段
  4. zookeeper的安装及配置教程(步骤详尽)
  5. 使用 Docker 部署 Spring Boot 项目
  6. Spring的使用步骤
  7. Spring Data ElasticSearch入门案例
  8. C和C++中struct和typedef struct的异同
  9. 如何画功能稳定,美观的PCB?
  10. GitHub + jsDelivr + PicGo 搭建个人图床