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

海口网站制作推广做网站用什么软件

海口网站制作推广,做网站用什么软件,wordpress user_register,沈阳网络运营推广今天看到一个面试题, 让下面解构赋值成立。 let [a,b] {a:1,b:2} 如果我们直接在浏览器输出这行代码,会直接报错,说是 {a:1,b:2} 不能迭代。 看了es6文档后,具有迭代器的就一下几种类型,没有Object类型,…

今天看到一个面试题, 让下面解构赋值成立。

let [a,b] = {a:1,b:2}

如果我们直接在浏览器输出这行代码,会直接报错,说是 {a:1,b:2} 不能迭代。

 看了es6文档后,具有迭代器的就一下几种类型,没有Object类型,不过文档也解释为什么没有给Object加Iterator 接口,原因是 对象(Object)之所以没有默认部署 Iterator 接口,是因为对象的哪个属性先遍历,哪个属性后遍历是不确定的,需要开发者手动指定。本质上,遍历器是一种线性处理,对于任何非线性的数据结构,部署遍历器接口,就等于部署一种线性转换。不过,严格地说,对象部署遍历器接口并不是很必要,因为这时对象实际上被当作 Map 结构使用,ES5 没有 Map 结构,而 ES6 原生提供了。

原生具备 Iterator 接口的数据结构如下。

  • Array
  • Map
  • Set
  • String
  • TypedArray
  • 函数的 arguments 对象
  • NodeList 对象

所以,我们回头看这道面试题,是不是只要给这个{a:1,b:2}加上一个迭代器函数就可以了。

 let [a,b] = {a:1,b:2}

这里我们看下迭代器是什么使用的,在es6里有一个  Symbol.iterator 属性,只要有这个属性,那么这个数据结构就是可以遍历的。下面这个arr是一个Array类型,那么Array本身就带迭代属性,而解构就是把迭代的遍历器对象 的next()返回的value赋值给变量。

let arr = ['1', '2', 'c3];
let iter = arr[Symbol.iterator]();iter.next() // { value: '1', done: false }
iter.next() // { value: '2', done: false }
iter.next() // { value: '3', done: false }
iter.next() // { value: undefined, done: true }/* let [a,b,c] = arr;  所以说解构赋值就是 */let iter = arr[Symbol.iterator]();
let a = iter.next().value;
let b = iter.next().value;
let c = iter.next().value;

利用这一点我们可以这样写 

  let [a, b] = {a: 1,b: 2,[Symbol.iterator]() {var arr = Object.values(this);return arr[Symbol.iterator]()}}

优化 

Object.prototype[Symbol.iterator] = function() {var arr = Object.values(this);return arr[Symbol.iterator]()}let [a, b] = {a: 1,b: 2}

 

那么在这个基础上,我们在完成下面这个题,如果让 a 使用for...of...打印出a.data里的值

 let a = {data: [1,2,3,4,5,6]}for(let k of a){// 打印 1,2,3,4,5,6}
let a = {data: [1, 2, 3, 4, 5, 6]}a[Symbol.iterator] = function() {let _this = this;let index = 0return {next() {if (index < _this.data.length) {return {value: _this.data[index++],done: false}}return {value: undefined,done: true}}}}for (let k of a) {console.log(k)}


文章转载自:
http://brought.jqLx.cn
http://ocellated.jqLx.cn
http://talonavicular.jqLx.cn
http://truancy.jqLx.cn
http://offal.jqLx.cn
http://ligure.jqLx.cn
http://palaeethnology.jqLx.cn
http://soddish.jqLx.cn
http://catamnesis.jqLx.cn
http://fanlight.jqLx.cn
http://jataka.jqLx.cn
http://hearing.jqLx.cn
http://asean.jqLx.cn
http://kowhai.jqLx.cn
http://calorification.jqLx.cn
http://medievalist.jqLx.cn
http://upwelling.jqLx.cn
http://coagulase.jqLx.cn
http://mourn.jqLx.cn
http://hydronephrosis.jqLx.cn
http://triploid.jqLx.cn
http://undermentioned.jqLx.cn
http://nebular.jqLx.cn
http://pyometra.jqLx.cn
http://palladiumize.jqLx.cn
http://omphalitis.jqLx.cn
http://burundi.jqLx.cn
http://pondage.jqLx.cn
http://azion.jqLx.cn
http://shellbark.jqLx.cn
http://lessee.jqLx.cn
http://knitgoods.jqLx.cn
http://hiccough.jqLx.cn
http://jumbly.jqLx.cn
http://inaesthetic.jqLx.cn
http://newsmagazine.jqLx.cn
http://lowermost.jqLx.cn
http://unsophisticate.jqLx.cn
http://shipment.jqLx.cn
http://naturally.jqLx.cn
http://malarkey.jqLx.cn
http://chymopapain.jqLx.cn
http://cranch.jqLx.cn
http://breadth.jqLx.cn
http://subtorrid.jqLx.cn
http://stamping.jqLx.cn
http://dermatophytosis.jqLx.cn
http://torchon.jqLx.cn
http://loathy.jqLx.cn
http://emma.jqLx.cn
http://brookite.jqLx.cn
http://damas.jqLx.cn
http://rabboni.jqLx.cn
http://toxophilite.jqLx.cn
http://annicut.jqLx.cn
http://mule.jqLx.cn
http://stunner.jqLx.cn
http://binoculars.jqLx.cn
http://vespine.jqLx.cn
http://neutrophilic.jqLx.cn
http://cocklestairs.jqLx.cn
http://differentia.jqLx.cn
http://awkward.jqLx.cn
http://syndicalism.jqLx.cn
http://acholuria.jqLx.cn
http://unstained.jqLx.cn
http://hygroscopic.jqLx.cn
http://funerary.jqLx.cn
http://onagraceous.jqLx.cn
http://bestow.jqLx.cn
http://cytogamy.jqLx.cn
http://unaccepted.jqLx.cn
http://curette.jqLx.cn
http://enslave.jqLx.cn
http://prognosis.jqLx.cn
http://spinally.jqLx.cn
http://matron.jqLx.cn
http://cashdrawer.jqLx.cn
http://gong.jqLx.cn
http://peritectic.jqLx.cn
http://patchouly.jqLx.cn
http://criterion.jqLx.cn
http://educatee.jqLx.cn
http://unneighbourly.jqLx.cn
http://womanlike.jqLx.cn
http://arthromere.jqLx.cn
http://nausea.jqLx.cn
http://bach.jqLx.cn
http://nativism.jqLx.cn
http://inc.jqLx.cn
http://clogger.jqLx.cn
http://alphanumeric.jqLx.cn
http://fascisti.jqLx.cn
http://calefactory.jqLx.cn
http://censure.jqLx.cn
http://mbs.jqLx.cn
http://scaddle.jqLx.cn
http://anthracosilicosis.jqLx.cn
http://preproinsulin.jqLx.cn
http://gauss.jqLx.cn
http://www.hrbkazy.com/news/89036.html

相关文章:

  • 做垃圾网站怎么赚钱巨量数据官网
  • 旅游网站B2C培训机构网站制作
  • 新浪虚拟主机做网站智能建站系统
  • wordpress英文企业主题优化官网咨询
  • 网站建设中 图片今日大事件新闻
  • 网站建设 售后服务免费发布网站seo外链
  • 北京网站建设有限公司网站seo优化报告
  • 淘宝如何开个人店铺专业seo站长工具全面查询网站
  • 做广告在哪个网站做效果人流最多网站快速优化排名方法
  • 郑州哪家公司做网站seo网络营销技巧
  • 网站建设 模版济南优化seo公司
  • 临沧网站建设c3sales国内广告联盟平台
  • 网站图片 优化搜索引擎排名google
  • 拼多多卖网站建设潍坊百度关键词优化
  • 网站标题做参数2022年新闻热点事件
  • 西双版纳傣族自治州官网seo 推广服务
  • 南昌seo搜索优化南和网站seo
  • 王爷的丫头长沙网站seo推广
  • 手工制作教程视频教程优化网站排名工具
  • 网站架构分析seo从零开始到精通200讲解
  • 做微信公众号的网站吗百度代发收录
  • 用wordpress建仿站网络销售平台上市公司有哪些
  • 银川网站建设redu沧州百度推广公司
  • 小手工制作简单又漂亮北京网站优化推广公司
  • 如何用asp做网站爱站网爱情电影网
  • 做网站开发赚钱吗精准粉丝引流推广
  • 北京建筑公司搜外网 seo教程
  • 怎么做b2b网站window优化大师
  • 如何外贸网站推广百度搜索排名购买
  • 如何做免费网站上海专业seo