如何使用很多方法在JavaScript中扩展函数?

时间:2014-05-22 13:05:51

标签: javascript oop coffeescript extends

我正在尝试扩展https://github.com/mikedeboer/node-github对象并使用CoffeeScript,执行以下操作:

class GitHubETag extends GitHubApi
  constructor: (defaults = {}) ->
    doStuff()

但是,GitHubApi有很多我希望在GitHubETag对象中公开的方法,但我想在调用GitHubApi版本之前做一些逻辑。

举个例子:

github = new GitHubETag()
github.repos.get query, (err, response) ->
  doStuff()

我不想在我的repos中明确定义getGitHubETag对象/功能。我想做一些逻辑,然后调用repos的{​​{1}}和get对象/函数。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

听起来你需要super

class Animal
  constructor: (@name) ->

  move: (meters) ->
    alert @name + " moved #{meters}m."

class Horse extends Animal
  move: ->
    alert "Galloping..." # <--- put in your logic before calling super
    super 45