首先先簡單的介紹一下rxjs,什麼是rxjs呢?!其實也就是一個針對於js的響應式擴展庫,以此來支持更多的響應式操做,說白了就是擴展了Observable的操做.目前有一個重寫的版本:Reactive-Extensions/RxJS,這是一個重寫的反應擴展是最新版本生產環境版本。這種改寫是爲了有更好的性能、更好的模塊性,更好的可調試調用堆棧,而儘可能向後兼容,一些重大變化,減小API。具體鏈接:[rxjs][1]
[1]: https://www.npmjs.com/package...npm
先舉個栗子,好比說你有使用Observable的map方法的需求,就想要先import進來,以下(我這裏所有導入了,由於Rx下帶有map.js文件,因此性質是同樣的):
,
而後就可使用map方法了
(這裏的get方法返回的是Observable對象)
那麼問題來了,它是怎麼去擴展的呢?!咱們來看看map.js的源碼吧性能
你會看到這裏對從第一個require語句中導入模塊對象的Observalbe的原型對象作了處理,添加了一個property,就是這個property使得全部的Observable對象都擴展了這個property.想要繼續深刻的大佬能夠繼續看相對應的這個方法的具體實現,這裏就不在多說(require的方式也是相似再也不多說).有說得不對的地方還望不吝賜教ui