我正在寻找一个如何访问对象中的对象的解决方案。 我正在制作一个游戏,其中不同的战利品都是物体而敌人是不同的物体 - 就像这样:
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"
}
}
}
但是对于我的战利品对象中的对象数组,它总是向我显示错误 "未捕获的ReferenceError:项目未定义"。
我是否有可能在不同的对象变量中编写数组中的对象?谢谢!
编辑:
项已定义,但在另一个js文件中。
var item = {
ingredient: {
feather: {
birdfeather: {
name: "feathers"
},
longfeather: {
name: "long feathers"
}
}
}
}
仍在怀疑这个错误
答案 0 :(得分:1)
您的def main():
# this is the code that runs when your program is executed
guessesTakenInt = 0
guessesTakenStr = 0
user_input = input("Please enter a number between 100 and 200: ")
while True:
if user_input.isnumeric():
user_input = int(user_input)
guessesTakenInt += 1
if user_input > 200:
user_input = input("This number is too big. Try again: ")
elif user_input < 100:
user_input = input("This number is too low. Try again: ")
else:
guessesTakenInt = str(guessesTakenInt)
guessesTakenStr = str(guessesTakenStr)
print("That number is just right!")
print("You tried {} numbers and {} non-numbers to get it right.".format(guessesTakenInt, guessesTakenStr))
break
else:
guessesTakenStr += 1
print("Sorry that is not a number. ")
user_input = input("Please enter a number between 100 and 200: ")
main()
对象声明代码没有任何问题。
它所需要的只是enemy
对象的正确声明。
例如:
item
答案 1 :(得分:0)
我自己找到了答案。因为这两个对象是在两个不同的js文件中创建的。我不得不更改调用脚本的html文件中的顺序。对不起,感谢您的回答