欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何進(jìn)行JavaScript設(shè)計(jì)模型Iterator的實(shí)踐-創(chuàng)新互聯(lián)

在海西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,海西網(wǎng)站建設(shè)費(fèi)用合理。

今天就跟大家聊聊有關(guān)如何進(jìn)行JavaScript設(shè)計(jì)模型Iterator的實(shí)踐,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。


起手式
Iterator Pattern是一個(gè)很重要也很簡單的Pattern:迭代器!
我們可以提供一個(gè)統(tǒng)一入口的迭代器,Client只需要知道有哪些方法,或是有哪些Concrete Iterator,并不需要知道他們底層如何實(shí)作!

Iterator最主要的東西就是兩個(gè):hasNext、next。要讓Client知道是否還有下一個(gè),和切換到下一個(gè)!

定義Interface

interface IteratorInterface {
  index: number
  dataStorage: any
  hasNext(): boolean
  next(): any
  addItem(item: any): void
}

實(shí)作介面

下面的范例我將會(huì)使用Map、Array這兩個(gè)常見的介面實(shí)作。

class iterator1 implements IteratorInterface {
  index: number
  dataStorage: any[]
  constructor() {
    this.index = 0
    this.dataStorage = []
  }
  hasNext(): boolean {
    return this.dataStorage.length > this.index
  }
  next(): any {
    return this.dataStorage[this.index ++]
  }
  addItem(item: any): void {
    this.dataStorage.push(item)
  }
}
// map
class iterator2 implements IteratorInterface {
  index: number
  dataStorage: Mapconstructor() {
    this.index = 0
    this.dataStorage = new Map()
  }
  hasNext(): boolean {
    return this.dataStorage.get(this.index) != undefined
  }
  next(): any {
    return this.dataStorage.get(this.index ++)
  }
  addItem(item: any): void {
    this.dataStorage.set(this.dataStorage.size, item)
  }
}

Client

我沒有實(shí)作一個(gè)Client,所以我是直接new一個(gè)類別出來直接使用!

const i = new iterator1()
i.addItem(123)
i.addItem(456)
i.addItem('dolphin')
while(i.hasNext()){
  console.log(i.next())
}
console.log(`====================`)
const i2 = new iterator2()
i2.addItem(123)
i2.addItem(456)
i2.addItem('dolphin')
while(i2.hasNext()){
  console.log(i2.next())
}

會(huì)發(fā)現(xiàn)Iterator 1號(hào) 2號(hào)的結(jié)果都是一樣的!他們都只需要讓Client知道有hasNext、next就好,底層的實(shí)作不需要讓他們知道!

看完上述內(nèi)容,你們對(duì)如何進(jìn)行JavaScript設(shè)計(jì)模型Iterator的實(shí)踐有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。

新聞名稱:如何進(jìn)行JavaScript設(shè)計(jì)模型Iterator的實(shí)踐-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article18/jcegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、小程序開發(fā)、云服務(wù)器、網(wǎng)站制作、建站公司、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
91精品国产色综合久久不| 日本精品国产一区二区在线| 亚洲欧美久久一区二区三区| 在线免费观看国产不卡| 欧美精品久久91九色| 日本在线人妻一区二区| av免费观看一区二区三区| 欧美日本国产专区一区| 午夜少妇伦理一区二区| 国产激情久久久久久久久久久 | 韩国三级福利在线观看| 在线观看中文字幕日韩精品| 一区二区高清中文字幕| 久草视频免费福利观看| 亚洲中文字幕高清无二区| 日韩激情中文字幕一区二区三区| 午夜神马福利激情视频| 国产深夜福利在线观看| 国产欧美日韩91成人| 国产av剧情精品亚洲| 亚洲综合一区二区三区不卡| 国内精品老年人视频网站| 自拍偷拍亚洲另类激情| 开心激情欧美一区二区| 人妻熟女一区二区aⅴ在线视频| 精品人妻av区久久久| 国产国产精品人在线观看| 日本一区欧美二区精品| 男人天堂一区二区av| 免费在线一区二区av| 欧美日韩一区二区三区四区高清视频 | 亚洲三级黄色在线观看| 欧美日本精品在线观看| 中文字幕人成乱码在线观看| 亚洲中文字幕第11页| 亚洲av激情码国产一区| 亚洲女优中文字幕在线免费| 日韩色欧美色国产精品| 欧美日韩国产成人激情| 日本免费精品一区二区三区四区| 亚洲人妖视频在线观看|