在另一个类中使用另一个javascript类

时间:2017-02-10 20:04:08

标签: javascript html class

在Swift中,我可以将另一个类作为属性实例化,并使用类似的方法调用其方法:

newClass.anotherClass.methodInTheOtherClass();

我无法在JavaScript中执行此操作。以下代码在此行中产生错误:

var cowCommunication = new CowCommunication();

实现此目标的正确方法是什么,并使以下脚本有效?

<html >
  <script type = "text/javascript" >
  let CowCommunication = {
    sayMoo: function() {
      alert("hey");
    }
  };
let farmTools = {
  var cowCommunication = new CowCommunication();
};
farmTools.cowCommunication.sayMoo();

</script>
</html >

这是我实际尝试工作的代码的一个真实示例。

2 个答案:

答案 0 :(得分:4)

let farmTools = {
  cowCommunication : new CowCommunication(),
};

let farmTools = {
  var cowCommunication = new CowCommunication();
};

另外:

class CowCommunication  {

    sayMoo() {
      alert("hey");
    }
}

不是:

let CowCommunication = {
    sayMoo: function() {
      alert("hey");
    }
  }

答案 1 :(得分:0)

您也可以使用合成而不是类。

let cowCommunication = {
    sayMoo: function() {
      console.log('hey')
    }
};

const farmTools = function() {
  return Object.assign({}, cowCommunication)
}

let instance = farmTools()

instance.sayMoo()