参数作为对象项

Parameter as object item?

本文关键字:对象 参数      更新时间:2023-09-26

好的,这里的菜鸟问题,但我试图做的看起来像这样:

var statShow = function(stat) {
  playerSats.stat = stat;
  console.log("Your "+stat+" is "+this.(this.stat)+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");

我正在尝试获取函数的参数,因为项目要在对象中检索,但是当我简单地键入时:

this.stat

它搜索一个名为stat的项目(在对象播放器中),而不是一个名为Intel的项目(这是我的参数)。请帮忙!

附言这是我的对象:

var playerStats = {
  playerLvl: 1,
  power: strength,
  intel: intelligence,
  sped: speed
};

试试这个:

 var statShow = function(stat) {
      console.log("Your "+stat+" is "+this[stat]+"!");
 };
 playerStats.statShow = statShow;
 playerStats.statShow("intel");

此外,你为什么要这样做:playerSats.stat = stat;

只需对对象使用括号表示法:

var statShow = function(stat) {
  this[stat] = stat;
  console.log("Your "+stat+" is "+this[stat]+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");

不过,我很困惑您为什么要这样做,因为您只是将property namevalue设置为相同的值......这意味着你甚至看不到区别。

您可以使用object[propertyName]样式语法访问 JavaScript 对象的属性。

要在当前设置中使用它,使用

var statShow = function(stat) {
  console.log("Your "+stat+" is "+this[stat]+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");