十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇內(nèi)容介紹了“js觀察者模式的介紹”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作和達(dá)州服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。
說明
1、定義對象間的一種一對多的依賴關(guān)系,當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都將得到通知。
2、包括
Subject:主體對象(狀態(tài)發(fā)布者),維護(hù)觀察者列表,添加或刪除觀察者。
Observer:觀察者,知道自己觀察的狀態(tài)是描述的哪一個(gè)對象,提供更新操作。
實(shí)例
class Subject { constructor () { this.state = 0; this.observers = []; } getState () { return this.state; } setState (state) { this.state = state; this.notify(); } notify () { this.observers.forEach(observer => { observer.update(); }) } attach (observer) { this.observers.push(observer); } } class Observer { constructor (name, subject) { this.name = name; this.subject = subject; this.subject.attach(this); } update () { console.log(`${this.name} update, state: ${this.subject.getState()}`); } } let sub = new Subject(); let observer1 = new Observer('o1', sub); let observer2 = new Observer('o2', sub); sub.setState(1);
“js觀察者模式的介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!