如何用JS装饰器模式实现长尾词的自动提问功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计123个文字,预计阅读时间需要1分钟。
使用AOP装饰函数实现装饰者模式 + Function.prototype.before=function(beforeFn) { var self=this; return function() { beforeFn.apply(this, arguments); return self.apply(this, arguments); }; }; Function.prototype.after=function(afterFn) { var self=this; return function() { var result=self.apply(this, arguments); afterFn.apply(this, arguments); return result; }; };
Function.prototype.before = function(beforeFn) { var self = this; return function() { beforeFn.apply(this, arguments); 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(a) { console.log("2"); return a; }; var func1 = function() { console.log("1"); }; var func3 = function() { console.log("3"); }; var r = func.before(func1).after(func3)(99); console.info(r);
本文共计123个文字,预计阅读时间需要1分钟。
使用AOP装饰函数实现装饰者模式 + Function.prototype.before=function(beforeFn) { var self=this; return function() { beforeFn.apply(this, arguments); return self.apply(this, arguments); }; }; Function.prototype.after=function(afterFn) { var self=this; return function() { var result=self.apply(this, arguments); afterFn.apply(this, arguments); return result; }; };
Function.prototype.before = function(beforeFn) { var self = this; return function() { beforeFn.apply(this, arguments); 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(a) { console.log("2"); return a; }; var func1 = function() { console.log("1"); }; var func3 = function() { console.log("3"); }; var r = func.before(func1).after(func3)(99); console.info(r);

