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