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

如何進(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è)
麻豆一精品传二传媒短视频| 亚洲女同中文字幕在线| 门国产av一区二区三区| 中文字幕国产精品专区| 色婷婷一区二区三区影片| 日韩成人大片在线播放| 成人午夜激情福利动态| 国产剧情av网址观看免费| 久久这里只有精品视频| 久久午夜福利欧美视频| 亚洲欧美日韩在线观看a三区 | 周妍希浴室视频色哟哟| 日韩丰满少妇在线观看| 亚洲av天堂在线观看| 国内校园性猛交视频网站 | 老牛av一区二区三区| 十八禁在线观看国产一区| 日本熟妇中文字幕系列| 人妻少妇一区二区三区四区| 国语av一区二区三区| 91薄丝激情在线播放| 亚洲一区二区三区日本在线| 白小白的视频在线观看| 国产精品网站在线观看| 亚洲av中文久久精品国内| 在线看岛国毛片十八禁| 欧美日韩国产成人激情| 日本韩国欧美一区二区在线| 亚洲免费一区二区三区四区| 国产精品粉嫩在线播放| 色综合色综合色综合色综合| 国产精品免费视频一区二区三区| 精品在线免费视频观看| 青青草原网址在线观看| 亚洲欧美综合伊人看片综合| 亚洲综合福利视频网站| 91亚洲婷婷国产综合精品| 午夜在线观看成人av| 人妻少妇一区二区三区四区| 亚洲成人精品久久久| 麻豆午夜福利在线播放|