当前位置: 首页 > news >正文

卖猕猴桃网站建设宣传策划书北京市网上服务平台

卖猕猴桃网站建设宣传策划书,北京市网上服务平台,定制型网页设计开发,某个网站做拍卖预展的好处function* function* 这种声明方式 (function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。 function * gen(){console.log("heloo generator")}如何调用呢?先看下里面的内容 返回…

function*

function* 这种声明方式 (function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。

     function * gen(){console.log("heloo generator")}

如何调用呢?先看下里面的内容
在这里插入图片描述
返回一个这个生成器的 迭代器 ( iterator )对象。

 iterator.next();

在这里插入图片描述

语法

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/function*
语法

function* name([param[, param[, … param]]]) { statements }

name
函数名

param
要传递给函数的一个参数的名称,一个函数最多可以有 255 个参数。

statements
普通 JS 语句。

描述
生成器函数在执行时能暂停,后面又能从暂停处继续执行。

调用一个生成器函数并不会马上执行它里面的语句,而是返回一个这个生成器的 迭代器 ( iterator )对象。当这个迭代器的 next() 方法被首次(后续)调用时,其内的语句会执行到第一个(后续)出现yield的位置为止,yield 后紧跟迭代器要返回的值。或者如果用的是 yield*(多了个星号),则表示将执行权移交给另一个生成器函数(当前生成器暂停执行)。

next()方法返回一个对象,这个对象包含两个属性:value 和 done,value 属性表示本次 yield 表达式的返回值,done 属性为布尔类型,表示生成器后续是否还有 yield 语句,即生成器函数是否已经执行完毕并返回。

调用 next()方法时,如果传入了参数,那么这个参数会传给上一条执行的 yield 语句左边的变量

next调用

        function * gen(){// console.log(111);yield '一只没有耳朵';// console.log(222);yield '一只没有尾部';// console.log(333);yield '真奇怪';// console.log(444);}let iterator = gen();console.log(iterator.next());console.log(iterator.next());console.log(iterator.next());console.log(iterator.next());

在这里插入图片描述

遍历

既然是迭代器,就可以采用for of遍历。

        function * gen(){yield '一只没有耳朵';yield '一只没有尾部';          yield '真奇怪';}let iterator=gen();//遍历for(let v of gen()){console.log(v);}

在这里插入图片描述

生成器接收参数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>生成器函数参数</title>
</head>
<body><script>function * gen(arg){console.log(arg);let one = yield 111;console.log(one);let two = yield 222;console.log(two);let three = yield 333;console.log(three);}//执行获取迭代器对象let iterator = gen('AAA');console.log(iterator.next());//next方法可以传入实参console.log(iterator.next('BBB'));console.log(iterator.next('CCC'));console.log(iterator.next('DDD'));</script>
</body>
</html>

在这里插入图片描述

异步编程

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>生成器函数实例</title>
</head><body><script>// 异步编程  文件操作 网络操作(ajax, request) 数据库操作// 1s 后控制台输出 111  2s后输出 222  3s后输出 333 // 回调地狱// setTimeout(() => {//     console.log(111);//     setTimeout(() => {//         console.log(222);//         setTimeout(() => {//             console.log(333);//         }, 3000);//     }, 2000);// }, 1000);function one(){setTimeout(()=>{console.log(111);iterator.next();},1000)}function two(){setTimeout(()=>{console.log(222);iterator.next();},2000)}function three(){setTimeout(()=>{console.log(333);iterator.next();},3000)}function * gen(){yield one();yield two();yield three();}//调用生成器函数let iterator = gen();iterator.next();</script>
</body></html>

生成器函数实例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>生成器函数</title>
</head>
<body><script>//模拟获取  用户数据  订单数据  商品数据 function getUsers(){setTimeout(()=>{let data = '用户数据';console.log(data);//调用 next 方法, 并且将数据传入iterator.next(data);}, 1000);}function getOrders(){setTimeout(()=>{let data = '订单数据';console.log(data);iterator.next(data);}, 1000)}function getGoods(){setTimeout(()=>{let data = '商品数据';console.log(data);iterator.next(data);}, 1000)}function * gen(){let users = yield getUsers();let orders = yield getOrders();let goods = yield getGoods();}//调用生成器函数let iterator = gen();iterator.next();</script>
</body>
</html>

在这里插入图片描述

http://www.yayakq.cn/news/127278/

相关文章:

  • 郑州专业做网站多少钱珠海网站开发
  • 做影视网站能赚到钱吗每天三分钟新闻天下事
  • 阿里巴巴官网国际站1个ip可以做几个网站
  • 视频网站 备案wordpress调用最近文章
  • 美的集团网站建设方案书wordpress mu功能
  • 计算机系部网站开发背景网上商城排名
  • 淘宝网网站开发网站首页的作用
  • 机关网站建设的请示网站微信登录怎么做的
  • 阿里云服务器建设网站南开做网站
  • 做农业网站怎么赚钱湖南网络营销
  • 怎么注册网站叶涛网站推广优化
  • 长沙网站提升排名做行业网站赚钱吗
  • 推广做网站南充北京智能建站系统价格
  • 企业网站搜索优化怎样学网络推广
  • 两个网站共用一个空间传媒公司宣传
  • 庆云网站seo网页推广怎么做
  • wordpress个人网站河南网站建设路
  • 手机宣传网站嵌入式开发越老越吃香吗
  • 网站前台做好之后再怎么做酷炫flash网站
  • 制作一个网站需要哪些步骤公司自己做网站吗
  • 台州永建建设有限公司网站做自己的网站多少钱
  • 企业网站建设网深圳商城网站开发
  • 做网站的软件图标企业宣传软文范例
  • 如何做一个企业网站做网站_你的出路在哪里
  • 网站域名注册需要什么手续注册博客域名做视频网站会怎么样
  • 网站工作室python开发wordpress
  • 网站建设捌金手指花总二八天津平台网站建设企业
  • 网站建设需要用到iis吗太原网站建设公司大全
  • 本地的南通网站建设注册网站怎么注册不了
  • 免费企业网站系统源码下载网站建设预算和维护