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

如何制作自己的作品集网站百度知道首页网

如何制作自己的作品集网站,百度知道首页网,wordpress搭建博客系统,厦门建网站品牌文章目录 前言介绍实现接口优缺点应用场景后言 前言 hello world欢迎来到前端的新世界 #x1f61c;当前文章系列专栏#xff1a;前端设计模式 #x1f431;‍#x1f453;博主在前端领域还有很多知识和技术需要掌握#xff0c;正在不断努力填补技术短板。(如果出现错误当前文章系列专栏前端设计模式 ‍博主在前端领域还有很多知识和技术需要掌握正在不断努力填补技术短板。(如果出现错误感谢大家指出) 感谢大家支持您的观看就是作者创作的动力 介绍 迭代器模式是一种行为设计模式它允许你在不暴露集合内部结构的情况下遍历集合中的元素。这种模式提供一种方法顺序访问一个聚合对象中的各个元素而又不需要暴露该对象的内部表示。 迭代器模式主要包括两个角色迭代器Iterator和可迭代对象Iterable。迭代器是负责定义访问和遍历元素的接口而可迭代对象则是具体的集合或容器它提供了创建迭代器的方法并且可以被迭代器按照一定规则遍历其中的元素。 通过迭代器模式我们可以将对集合元素的操作与集合本身分离开来使得遍历方式可以独立于集合进行变化。这样一来无论是数组、链表还是其他类型的集合都可以通过相同的迭代器接口进行遍历从而提高了代码的可重用性和灵活性。 实现接口 一个迭代器通常需要实现以下接口 hasNext()判断迭代是否结束返回Booleannext()查找并返回下一个元素 为Javascript的数组实现一个迭代器可以这么写 const item [1, red, false, 3.14];function Iterator(items) {this.items items;this.index 0; }Iterator.prototype {hasNext: function () {return this.index this.items.length;},next: function () {return this.items[this.index];} }验证一下迭代器是否工作 const iterator new Iterator(item);while(iterator.hasNext()){console.log(iterator.next()); } //输出1, red, false, 3.14ES6提供了更简单的迭代循环语法 for…of使用该语法的前提是操作对象需要实现 可迭代协议The iterable protocol简单说就是该对象有个Key为 Symbol.iterator 的方法该方法返回一个iterator对象。 比如我们实现一个 Range 类用于在某个数字区间进行迭代 function Range(start, end) {return {[Symbol.iterator]: function () {return {next() {if (start end) {return { value: start, done: false };}return { done: true, value: end };}}}} }验证一下 for (num of Range(1, 5)) {console.log(num); } // 输出1, 2, 3, 4 优缺点 优点 分离集合对象与遍历行为迭代器模式能够将集合对象与遍历行为分离使得可以独立地改变集合对象的遍历方式。统一遍历接口迭代器模式提供了统一的遍历接口使得客户端代码可以以相同的方式访问不同类型的集合对象。支持逆向遍历一些迭代器模式的实现还支持逆向遍历这使得对集合元素的访问更加灵活。支持延迟加载有些情况下集合对象可能包含大量的元素而并不是每次都需要遍历所有元素迭代器模式可以支持延迟加载只在需要时才获取元素从而节省资源。 缺点 增加了复杂度在一些简单的应用场景下使用迭代器模式可能会增加代码的复杂度使得代码难以理解。内存占用在某些语言或环境中迭代器可能会占用额外的内存空间。 应用场景 需要遍历不同类型集合对象的场景如果系统需要统一遍历不同类型的集合对象迭代器模式可以提供一个统一的遍历接口。 需要隐藏集合内部结构的场景当希望遍历集合对象而又不暴露其内部结构时可以使用迭代器模式。 支持逆向遍历的场景如果需要对集合进行逆向遍历迭代器模式提供了灵活的解决方案。 后言 创作不易要是本文章对广大读者有那么一点点帮助 不妨三连支持一下您的鼓励就是博主创作的动力
http://www.hkea.cn/news/14279148/

相关文章:

  • 海外推广的网站有哪些昆山科技网站建设
  • 怎么编辑网站源代码类似于淘宝的网站建设方案
  • 做互联网平台要多少钱重庆网站seo技术
  • 单页网站开发舟山seo网络优化招聘
  • 垦利网站定制阿里云怎么申请域名
  • 开源网站推广成都宅天下装饰公司口碑
  • 网站开发专业前景江苏泰州海陵区建设局网站
  • 论坛网站开发教程php之wordpress
  • 做网站 工商 非法经营wordpress刷新错位
  • 如何保护我做的网站模板安徽建设局网站
  • 网站开发编写籍贯代码网络营销专业属于什么类别
  • 湛江网站如何制作做网站的图片的内存
  • 农产品网站如何做地推长沙点梦网站建设
  • 火星免费建网站昆山市建设监察大队官方网站
  • 免费搭建微信网站app开发定制公司哪家好
  • 某个网站做拍卖预展的好处双浩建设网站
  • 论坛网站模板拉新接单网
  • 电商平台网站制作费用深圳网络推广哪家好
  • 网站头部导航兰州建设网站的网站
  • 天津做网站推广的公司重庆seo排名扣费
  • 长沙网站 建设推广世云网络在线推广是网站推广的首要工具
  • 遵化市城乡建设规划局网站怎样用电脑和网訨自己做网站
  • 网站系统方案设计广州专业的网站建设公司哪家好
  • 电子商务网站功能介绍wordpress seo插件哪个好
  • 徐汇制作网站哪家好如何用ps做网站
  • 外贸网站平台都有哪些织梦做商城类网站好做吗
  • 知名营销网站最大的网站
  • 网站的架设小程序定制开发合同
  • 在建设厅网站上下载资质标准淘宝网页设计招聘
  • 可以下载源程序的网站珠海网页设计公司