【发布时间】:2015-04-27 16:51:48
【问题描述】:
我是真正的 OOP 的新手,但我对 javascript 的理解还不错。我正在尝试使用构造函数模式创建新对象,但我想将其中一个属性设为数组。
这是我正在尝试做的一个示例:
function Walker(name, type, ws, bs, s, armor, i, a, hp) {
this.name = name;
this.type = type;
this.ws = ws;
this.bs = bs;
this.s = s;
this.armor = new Array("f", "s", "r");
this.i = i;
this.a = a;
this.hp = hp;
}
这是为你们中的一些人可能知道的游戏(并且仅供个人使用,因为创建该游戏的公司已经为他们的 IP 贴出了他们的...)
如您所见,armor 属性内部将包含 3 个属性。我这样做的原因是因为已经有一个名为s的属性,所以我不希望该属性和s的盔甲属性混淆。
我正在制作一个新的walker 并尝试像下面这样记录盔甲:
var specificWalker = new Walker("Specific Walker", "Vehicle", 5, 5, 6, [12, 12, 10], 4, 2, 3);
console.log(specificWalker.armor[0]);
不过,这当然行不通,因为armor[0] 总是等于“f”,我不知道如何覆盖数组的那部分。
理想情况下,我想做的是能够以这种方式记录盔甲:
console.log(specificWalker.armor.f) //Should log "12"
但我不确定如何在对象内部制作对象。
有人可以帮忙吗?
【问题讨论】:
-
@Joniras,对不起,但这不是那个特定帖子的重复
标签: javascript arrays object