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

网站维护服务基本内容海南澄迈县

网站维护服务基本内容,海南澄迈县,衡阳市住房和城乡建设部网站,网站设计公司哪家便宜今天看到一个面试题#xff0c; 让下面解构赋值成立。 let [a,b] {a:1,b:2} 如果我们直接在浏览器输出这行代码#xff0c;会直接报错#xff0c;说是 {a:1,b:2} 不能迭代。 看了es6文档后#xff0c;具有迭代器的就一下几种类型#xff0c;没有Object类型#xff0c;…今天看到一个面试题 让下面解构赋值成立。 let [a,b] {a:1,b:2} 如果我们直接在浏览器输出这行代码会直接报错说是 {a:1,b:2} 不能迭代。 看了es6文档后具有迭代器的就一下几种类型没有Object类型不过文档也解释为什么没有给Object加Iterator 接口原因是 对象Object之所以没有默认部署 Iterator 接口是因为对象的哪个属性先遍历哪个属性后遍历是不确定的需要开发者手动指定。本质上遍历器是一种线性处理对于任何非线性的数据结构部署遍历器接口就等于部署一种线性转换。不过严格地说对象部署遍历器接口并不是很必要因为这时对象实际上被当作 Map 结构使用ES5 没有 Map 结构而 ES6 原生提供了。 原生具备 Iterator 接口的数据结构如下。 ArrayMapSetStringTypedArray函数的 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://www.w-s-a.com/news/563779/

相关文章:

  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站
  • 四川省建设厅官网信息查询平台北京seo关键词优化外包
  • 网站建设响应式是什么意思wordpress弹窗打开网页
  • 做美工需要参考的网站漳州做网站的公司
  • 用源码建设网站关于网站开发的自我评价
  • 网站设计师图片自助建站编辑器
  • 网站建设的常用技术有哪些深圳建筑工地招工
  • 做软装找图片的网站wordpress 替代
  • 制作网站的后台公众号做视频网站会封吗
  • 广西企业建站邯郸景区网站制作
  • 开发商城网站多少钱城厢区建设局网站
  • 网站外链多的危害天水市建设局网站
  • 网站接入商学交互设计网站
  • 目前最新的网站后台架构技术综述什么网站可以做名片
  • 成都建站长沙做网站美工的公司
  • 湖南省住房与城乡建设厅网站平顶山网站关键词优化
  • 购物网站前台功能模块汕头网站设计电话
  • 网站你懂我意思正能量免费wordpress菜单底部导航代码
  • 一个主机可以建设多少个网站山东高端网站建设
  • 长沙网站建设搭建网络营销做得好的公司
  • 如何做网站的后台管理石家庄seo关键词排名
  • 给自己公司做个网站山东做外贸网站的公司
  • 张家港网站建设培训江苏省建设工程网站系统
  • html个人网站桂林建站
  • 湛江网站优化快速排名wordpress文章页面宽度
  • 自己建网站怎么弄唯品会一家专门做特卖的网站