这是我的代码,我试图打印工人和士兵物品的价格属性
var army = [worker, soldier];
var worker={
name:'Worker',
price : 10,
ammount : 0,
award:0,
//award : 5/11,
time : 1000,
defense: 10,
attack: 5
}
var soldier={
name:'Soldier',
price : 50,
ammount : 0,
award:0,
//award : 0.75,
time : 1000,
defense: 30,
attack: 15
}
for (var i=0; i<army.length; i++){
alert(this.price);
}
&#13;
您是否知道如何进入这些物品的价格属性?
答案 0 :(得分:1)
在初始化对象之前,您正在将未定义的变量分配给军队阵列。将第一行移到工人和士兵之后。
此外,for循环中的变量this
不会引用任何内容。请改为使用army[i]
,或者您可以指定var this = army[i];
。
var worker = {
name: 'Worker',
price: 10,
ammount: 0,
award: 0,
//award : 5/11,
time: 1000,
defense: 10,
attack: 5
}
var soldier = {
name: 'Soldier',
price: 50,
ammount: 0,
award: 0,
//award : 0.75,
time: 1000,
defense: 30,
attack: 15
}
var army = [worker, soldier];
for (var i = 0; i < army.length; i++) {
alert(army[i].price);
}
&#13;
答案 1 :(得分:0)
在创建其他数组后定义army
数组:
var army = [worker, soldier];
然后使用army[i]
从每个对象中获取价格:
for (var i=0; i<army.length; i++){
alert(army[i].price);
}