首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在方法被执行后添加方法吗?

我可以在方法被执行后添加方法吗?
EN

Stack Overflow用户
提问于 2019-06-28 15:52:04
回答 1查看 30关注 0票数 1

考虑到我有课

代码语言:javascript
复制
 function home {}{
   this.door=function(){},
   this.tiles=function(){}
 }

使用这个名为meld js (https://github.com/cujojs/meld/blob/master/docs/api.md#meldafter)的库调用它的方法后,我必须添加一些消息。

我的尝试

代码语言:javascript
复制
var allMethods = new home();

   Object.keys(allMethods).forEach(function(k){

       aop.after(Object.prototype,key,function(){
            console.log('Dont use me i am old')
       });
  })

这是一种正确的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-13 07:39:48

您的方法是正确的,但是您的代码中有几个错误。首先,home函数应该使用()而不是{}

代码语言:javascript
复制
function home() {
    this.door=function(){},
    this.tiles=function(){}
}

其次,在AOP代码中,您需要将对象提供给after()方法,而不是原型。

代码语言:javascript
复制
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方法中定义的变量)

如果你运行其中的一个方法,你会得到你想要的输出。

代码语言:javascript
复制
allMethods.door() // result 'Dont use me i am old'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56802967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档