我想创建对象播放器的实例,作为嵌套在其中的武器实例。
例如, player1应该以匕首开始游戏。
我尝试了不同的方法,但嵌套对象(武器)不在播放器实例中。
function Weapon(name, damage) {
this.name = name;
this.damage = damage;
}
function Player(name, life) {
this.name = name;
this.life = life;
this.weapon = {
name: name,
damage: damage
};
}
const player1 = new Player("Joueur 1", 100, dagger);
const dagger = new Weapon("Dague", 5);
const sword = new Weapon("Epée", 10);
const axe = new Weapon("Hache", 15);
const flail = new Weapon("Fléau", 20);
将此武器添加为嵌套对象的正确语法是什么?
此外,武器可能会在比赛中发生变化。
答案 0 :(得分:0)
我认为您正在寻找类似的东西,您当前正在尝试传递参数,但构造函数并不期望它。我已经举了两个例子说明如何实现这一目标。
function Weapon(name, damage) {
this.name = name;
this.damage = damage;
}
function Player(name, life, weapon) {
this.name = name;
this.life = life;
this.weapon = weapon;
}
const dagger = new Weapon("Dague", 5);
const player1 = new Player("Joueur 1", 100, dagger);
const player2 = new Player("Joueur 1", 100, new Weapon("Dague", 5));
console.log(player1);
console.log(player2);