首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript :如何覆盖和包装父对象的方法?

Javascript :如何覆盖和包装父对象的方法?
EN

Stack Overflow用户
提问于 2013-12-24 08:21:10
回答 5查看 1.2K关注 0票数 2

我的意愿

  • 使用带有方法o的对象work
  • o.work()前打印"Hello“
  • o.work()后打印“再见”
  • o.work()将由第三方召集

我的尝试

代码语言:javascript
运行
复制
// sample library object
var o = {
     score: 5,
     work: function() {
                     console.log(this.score);
                }
};

// my code
var cons = function () {
     this.score = 10;
     this.work = function () {
          console. log("Hello");
           // how to call parent's work() ?
           // if I do this.prototype.work() -> prints 5
           // But parent's work should be called when this.score is 10
          console. log("Bye");
     };
 };
 cons.prototype = o;
 my_o = new cons();

 // my_o will be passed to 3rd party instead of o

In

  • 我正在尝试装饰继承的方法。
  • 超级很简单,但JavaScript没有超级

他们说原型遗传是超亲的。

更新

  • work()使用this.score,它在继承后被重写。

更新2

  • 期望是o.work()应该打印5
  • 期望是my_o.work()应该打印10
EN

Stack Overflow用户

发布于 2013-12-24 08:35:38

更换线路

代码语言:javascript
运行
复制
 // how to call parent's work() ?

使用

代码语言:javascript
运行
复制
cons.prototype.work();

就这么简单:)

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20757377

复制
相关文章

相似问题

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