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

How do I print or call 1 return value from a function who takes multiple parameters?

本文关键字:返回值 参数 函数 何打印 打印 调用 一个      更新时间:2023-09-26

我正在尝试制作一款玩家与怪物战斗的小型电子游戏。在里面,我创建了一个对象"玩家",他使用一种叫做stats的方法来返回玩家的生命值和平衡值。Dwarf现在将是我的新对象,因为我稍后会添加其他类型,我正在尝试获取文件来记录玩家的统计数据,除非在这种情况下,单独记录。目前,我使用播放器面板作为视图来查看javascript将如何打印代码,但稍后,我想使用特定的div框将播放器的HP和Balance放在两个独立的字段中。我遇到的问题是,我可以让javascript代码将两个变量打印在一起,但我似乎无法单独调用1或另一个。有办法做到这一点吗?同样只是为了参考,当它打印第一行时,它会添加昏迷,例如:100250。有没有办法去除它?尽管我认为如果我的第一个问题得到解决,这不会是一个问题。

那么,我该如何告诉javascript我只想拉HP并编写它呢。。还是只拉Balance然后写?我试着使用索引,但没有用。

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]

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

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;

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 }

您可以只返回一个包含两个变量的对象。然后,您可以使用字段名称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>