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

怎么提高网站曝光山西自助建站费用低

怎么提高网站曝光,山西自助建站费用低,自己建一个网站做电子商务,摄影师个人网站怎么做Generator Generator是es6引入的,主要用于异步编程。 最大特点是可以交出函数的执行权(即暂停执行)。 它和普通的函数写法有点不同 function关键字与函数名之间有一个*号,以与普通函数进行区别。 它不同于普通函数,是可以暂停执行的。 Gen…

Generator

Generator是es6引入的,主要用于异步编程。

最大特点是可以交出函数的执行权(即暂停执行)。

它和普通的函数写法有点不同

function关键字与函数名之间有一个*号,以与普通函数进行区别。

它不同于普通函数,是可以==暂停执行==的。

Generator函数体内部==使用yield语句==,可以定义不同的状态。

现在都是状态====数据

yield是异步的分界线,可以把它理解为return。但和return还是存在本质的区别。

先来看一个最简单的==Generator==函数

function* fn() {yield 'a';yield 'b';yield 'c';return 'd';
}
let fn1 = fn();
console.log(fn1.next());
console.log(fn1.next());
console.log(fn1.next());
console.log(fn1.next());// 输出结果:
{ value: 'a', done: false }
{ value: 'b', done: false }
{ value: 'c', done: false }
{ value: 'd', done: true } 

要想动起来,我们得使用next方法。每次调用next方法,返回一个对象。

​ 这个对象表示当前的阶段信息。value属性,done属性:返回一个boolean值。其中true表示函数已经执行完了,false表示函数还需要执行。还有下一个next。遇到了return的时候,done才会返回true。


迭代器

==不同的迭代器指向的指针==是不一样的。例如下面这段代码:

function* fn() {let n = 1;yield ++n;yield ++n;return ++n;
}
let fn1 = fn();
let fn2 = fn();
console.log(fn1.next());
console.log(fn1.next());
console.log(fn2.next());
console.log(fn1.next());
// output
{ value: 2, done: false }
{ value: 3, done: false }
{ value: 2, done: false }
{ value: 4, done: false }

每一个迭代器对象都有专属于自己的指针,每次执行的位置就是==上次迭代器遗留下来==的位置。


==.next()方法==可以接受参数

​ 传入的参数,就是把上次yield语句的返回的值给覆盖了。

第一个yield语句因为在它之前没有yield语句,所以给==第一个yield语句传递参数==是没有意义的!

function* fn() {// 第一次执行开始let _n = 1;let _v = yield _n + 22;console.log("aa-----:" + _v);// 第一次执行结束,第二次结束yield ++_n;// 第二次结束,第三次开始yield ++_n;
}
let fn1 = fn();
console.log(fn1.next());
console.log(fn1.next('abc'));
console.log(fn1.next());
// 注释
/*{ value: 23, done: false }aa-----:abc	{ value: 2, done: false }{ value: 3, done: false }
*/

Generator函数,支持for of 循环

​ 用来迭代Generator函数在执行时生成的那个迭代对象。

function* fn() {// 第一次执行开始let _n = 1;let _v = yield _n + 22;console.log("aa-----:" + _v);// 第一次执行结束,第二次结束yield ++_n;// 第二次结束,第三次开始yield ++_n;
}
let fn1 = fn();
/* console.log(fn1.next());
console.log(fn1.next('abc'));
console.log(fn1.next()); */
for (let i of fn1) {console.log(i);
}

采用这个打印效果,和上述的三次console.log()结果是一样的。

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

相关文章:

  • 都昌县建设局网站vs2015是网站开发
  • 佛山 做网站公司最新足球赛事
  • 中国十大旅游网站h5网页版制作
  • 做棋牌网站违法天津seo排名效果好
  • 建设行业信息管理系统网站怎么做网页txt
  • 泗洪网站建设公司软件开发中以下模型哪些不是采用
  • 南京马鞍山网站建设国内旅行做行程网站
  • 设计师查询网站如何用网站赚钱
  • 国外电商网站如何做icp备案泰州网站建设托管
  • 东莞营销网站建设服务酒店网站建设的构思
  • 常德网站建设wynet123wordpress is ssl
  • 拨号服务器做网站nat123易企秀h5页面怎么制作
  • 网站原型图是什么马尾网站建设
  • 网站建设方案书 百度文库宁波网站制作公司官网
  • 哈尔滨百度网站排名软件推广方法
  • 网站做下子压缩文件的链接网站制作 符合百度
  • 网站模板之家官网网站建设好之后怎么上传东西
  • 青岛建立网站电话常州住房和城乡建设局网站
  • 功能性的网站网页网站开发工具
  • 网站建设费用选择网络专业电商培训方案
  • 个人网站设计说明Wordpress 导航条样式
  • 网站推广营销效果注册公司取名字大全
  • 建设好学校网站开发邦平台
  • 酒店定房网站开发编程外包
  • 如何建立自己的博客网站家政服家政服务网站模板
  • 免费建网站软件下载河源网站建设工作室
  • 北海哪里做网站建设品牌营销策划推广
  • 网站安全认证去哪做花瓣网素材
  • 网站开发需求分析中性能需求饮水机企业网站模板
  • 备案网站内容说明扬州建设机械网站