考虑到我有课
function home {}{
this.door=function(){},
this.tiles=function(){}
}使用这个名为meld js (https://github.com/cujojs/meld/blob/master/docs/api.md#meldafter)的库调用它的方法后,我必须添加一些消息。
我的尝试
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(Object.prototype,key,function(){
console.log('Dont use me i am old')
});
})这是一种正确的方法吗?
发布于 2019-07-13 07:39:48
您的方法是正确的,但是您的代码中有几个错误。首先,home函数应该使用()而不是{}
function home() {
this.door=function(){},
this.tiles=function(){}
}其次,在AOP代码中,您需要将对象提供给after()方法,而不是原型。
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(allMethods,k,function(){
console.log('Dont use me i am old')
});
})(您还需要使用变量k,而不是key,因为这是在forEach方法中定义的变量)
如果你运行其中的一个方法,你会得到你想要的输出。
allMethods.door() // result 'Dont use me i am old'https://stackoverflow.com/questions/56802967
复制相似问题