在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 >
这是我实际尝试工作的代码的一个真实示例。
答案 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()