JS 中方法的修飾(注入寫法)。javascript
假如我有一個函數,執行某功能,程序中我開了一個口子,使用者能夠傳遞新方法來執行這個功能。java
那麼如今就有2種狀況:1. 使用者徹底用他提供的方法替代個人。2.使用者依然使用個人,在我以後再使用它的。函數
封裝一個函數: function inject(processor, fn) { return (payload) => { return processor.call(new Context(payload), payload, getFn(fn, payload)) } } 使用的時候 : 假設我原來的方法是 fun, 接收的參數是一個 // fun是舊的方法 fun_new = function(payload, fun){ // 若是須要執行fun,那麼就調用fun,若是不須要,就忽略第二個參數 } fun = inject(fun_new, fn);
這樣的寫法,是否使用原方法徹底由注入的方法決定。code