js裝飾者模式是什麼
在程式開發中,不希望某種型別天生龐大,一次承擔很多責任,可以使用裝飾者模型。裝飾者的模式可以動態地給某個物件追加責任,不會影響從這個類中誕生其他物件。
概念
1、裝飾者模式在不改變物件本身的基礎上,在程式執行期間動態新增物件的方法。
2、js語言動態更改物件相當容易,可以直接更改物件和物件的某種方法,不需要使用類來實現裝飾者的模式。
例項
Function.prototype.before = function(beforefn) { var self = this; //儲存原函式引用 return function(){ //返回包含了原函式和新函式的 '代理函式' beforefn.apply(this, arguments); //執行新函式,修正this return self.apply(this,arguments); //執行原函式 } } Function.prototype.after = function(afterfn) { var self = this; return function(){ var ret = self.apply(this,arguments); afterfn.apply(this, arguments); return ret; } } var func = function() { console.log('2'); } //func1和func3為掛載函式 var func1 = function() { console.log('1'); } var func3 = function() { console.log('3'); } func = func.before(func1).after(func3); func();
以上就是js裝飾者模式的介紹,希望對大家有所幫助。更多js學習指路:
推薦操作環境:windows7系統、jquery3.2.1版本,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2829673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS中裝飾器到底是什麼?JS
- 修飾者模式(裝飾者模式,Decoration)模式
- 裝飾者模式模式
- 裝飾者模式(1)模式
- python裝飾器是什麼Python
- 設計模式-裝飾者模式設計模式
- 設計模式——裝飾者模式設計模式
- js裝飾者模式有哪些應用場景JS模式
- 秒懂裝飾者模式模式
- 裝飾者模式學習模式
- 小白設計模式:裝飾者模式設計模式
- 設計模式之裝飾者模式設計模式
- 聊一聊裝飾者模式模式
- 設計模式系列10–裝飾者模式設計模式
- 設計模式之裝飾者模式(二)設計模式
- 設計模式之裝飾者模式(一)設計模式
- PHP設計模式之裝飾者模式PHP設計模式
- Java設計模式(3)-裝飾者模式Java設計模式
- Java設計模式之裝飾者模式Java設計模式
- JS實現AOP 面向切面程式設計 (裝飾者模式)JS程式設計模式
- 設計模式第三講-裝飾者模式設計模式
- 23種設計模式(6)-裝飾者模式設計模式
- 設計模式系列10--裝飾者模式設計模式
- Netty中的裝飾者模式Netty模式
- MobX詳解(一):裝飾者模式模式
- RecyclerView中裝飾者模式應用View模式
- 設計模式:裝飾者模式介紹及程式碼示例 && JDK裡關於裝飾者模式的應用設計模式JDK
- Head First 設計模式(3)----裝飾者模式設計模式
- 設計模式 | 裝飾者模式及典型應用設計模式
- 09 結構型模式之裝飾者模式(decorator)模式
- 8.java設計模式之裝飾者模式Java設計模式
- Java設計模式之裝飾者模式(Decorator pattern)Java設計模式
- 結合案例深入解析裝飾者模式模式
- 使用裝飾者模式做有趣的事情模式
- 什麼是模式? 什麼是框架?模式框架
- 裝飾模式模式
- 設計模式(十一)----結構型模式之裝飾者模式設計模式
- JavaScript 的裝飾器:它們是什麼及如何使用JavaScript