我正在寻找一种解决方案,如何访问对象中的对象。 我正在制作一个游戏,其中不同的战利品都是对象,敌人是不同的对象 - 像这样:
item.ingredient.feather.birdfeather //item object
enemy.animal.badger //enemy object
现在我希望敌人对象有一个战利品属性,其中记录了所有可能的战利品。这就是该对象(当然还有更多)在我的代码中的编写方式:
var enemy = {
animal: {
badger: {
loot: [item.ingredient.skin.badgerskin, item.ingredient.teeth.badgerteeth],
health: 50,
etc: "lala"
}
}
}
但是对于我的战利品对象中的对象数组,它总是向我显示错误 “ Uncaught ReferenceError :项目未定义”。
我是否可以将对象写入不同对象变量的数组中?谢谢你!
编辑:
item 已定义,但在另一个 js 文件中。
var item = {
ingredient: {
feather: {
birdfeather: {
name: "feathers"
},
longfeather: {
name: "long feathers"
}
}
}
}
仍然对这个错误感到疑惑
最佳答案
您的enemy
对象声明代码没有任何问题。
它所需要的只是 item
对象的正确声明。
例如:
var item = {
ingredient: {
skin: {
badgerskin: {
id: "badgerskin",
name: "Badger Skin",
etc: 30
}
},
teeth: {
badgerteeth: {
id: "badgerteeth",
name: "Badger Teeth",
etc: 80
}
}
}
}
var enemy = {
animal: {
badger: {
loot: [item.ingredient.skin.badgerskin, item.ingredient.teeth.badgerteeth],
health: 50,
etc: "lala"
}
}
}
关于javascript - 对象内部的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40273369/