如何从具有多个参数的函数打印或调用1返回值?

时间:2015-11-14 19:36:12

标签: javascript

我正在尝试制作一个玩家与怪物战斗的小型视频游戏。在其中,我创建了一个对象" player",他使用名为stats的方法返回玩家HP和Balance数字。矮人现在将是我的新对象,因为我稍后会添加其他类型,并且我试图让文档记下玩家的统计数据,除非在这种情况下,单独进行。现在我使用播放器面板作为视图来查看javascript将如何打印代码,但稍后,我想使用特定的div框将玩家HP和Balance放在2个单独的字段中。我遇到的问题是我可以使用javascript代码将两个变量一起打印,但我似乎无法单独调用1或其他。有没有办法做到这一点?也仅供参考,当它打印第一行时,它会增加一个昏迷,EX:100,250。有没有办法删除它?虽然如果我的第一个问题得到解决,我认为这不会成为一个问题。

那么我怎么能告诉javascript我只想拉HP并写那个..或者只是拉平衡并写出来?我试图使用索引,但这不起作用。

var player = {
    stats: function (hp, balance){
        this.hp = hp;
        this.balance = balance;
        return [hp, balance]
    }   
}

var dwarf = Object.create(player);

document.getElementById("playerpanel").innerHTML += dwarf.stats(100, 250)
document.getElementById("playerpanel").innerHTML += dwarf.stats[1]

3 个答案:

答案 0 :(得分:1)

您可以返回一个对象,例如:

return {hp: hp, balance: balance};

然后只提取返回对象的属性:

//this executes the function and stores the returned object
var theCall = dwarf.stats(100, 250);

//this pulls the assigned property by name "balance"
document.getElementById("playerpanel").innerHTML += theCall.balance;

答案 1 :(得分:0)

stats可能不应该是一个函数,而是一个嵌套对象。

var Player = {
    stats: {
        hp: 0,
        balance: 0
    }
}
...
dwarf.stats.hp = 100;
console.log(dwarf.stats.hp); // 100
console.log(dward.stats); // { hp: 100, balance: 0 }

答案 2 :(得分:0)

您只需返回包含两个变量的对象即可。然后,您可以使用其字段名称hpbalance来引用各个字段,请参阅以下内容:



var player = {
  stats: function(hp, balance) {
    this.hp = hp;
    this.balance = balance;
    return {
      hp, balance
    }
  }
}

var dwarf = Object.create(player);

document.getElementById("playerpanel").innerHTML += dwarf.stats(100, 250).hp
document.getElementById("playerpanel").innerHTML += ','+dwarf.stats(100, 250).balance

<div id="playerpanel"></div>
&#13;
&#13;
&#13;

相关问题