考虑我上课
function home {}{
this.door=function(){},
this.tiles=function(){}
}
在使用称为mel 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')
});
})
这是正确的方法吗?
答案 0 :(得分:1)
您的方法是正确的,但是您的代码中有几个错误。
首先,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'