尝试通过Javscript中的工厂函数在继承中使用合成而不继承,并且未使用以下代码定义函数:

(未定义dogIsCreated)

var dog = function dog(state) {
  return {
    create: function create() {
      console.log('Create the dog');
      dogIsCreated();
    },
    dogIsCreated: function dogIsCreated() {
      console.log('Ready');
    }
  }
}

var ted = dog().create();


如果有人能指出我正确的方向,那会很棒吗?我使用的语法完全错误吗?

谢谢 :)

最佳答案

除了使用create()关键字之外,还需要定义this方法的范围。

var dog = function dog(state) {
  return {
    create: function create() {
      console.log('Create the dog');
      this.dogIsCreated();
    },
    dogIsCreated: function dogIsCreated() {
      console.log('Ready');
    }
  }
}

关于javascript - 尝试在JavaScript中使用工厂调用方法时变得不确定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34794170/

10-12 13:11