我有以下对象:
var party =
{
food:
{
serve: function () {
// I want to call turnOff method from here
}
cleanUp: function () {
}
}
music:
{
turnOff: function () {
}
}
}
正如评论指出的那样,我想从音乐对象中调用turnOff方法,我该怎么做呢? this
指食物,但我需要访问音乐对象......
答案 0 :(得分:1)
使用构造函数而不是带有引用父对象的变量的文字
var party = new (function()
{
var self = this;
this.food =
{
serve: function () {
self.music.turnoff();
},
cleanUp: function () {
}
}
this.music =
{
turnOff: function () {
}
}
})();
答案 1 :(得分:1)
var party =
{
food:
{
serve: function () {
party.music.turnOff();
},
cleanUp: function () {
}
},
music:
{
turnOff: function () {
}
}
}
答案 2 :(得分:0)
将其称为party.music.turnOff
()。
仅供参考,您的上述代码块无效。你错过了一些逗号 - 在serve
和food
关闭括号之后。