好的,这里的noob问题,但我尝试做的事情看起来像这样:
var statShow = function(stat) {
playerSats.stat = stat;
console.log("Your "+stat+" is "+this.(this.stat)+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");
我试图获取函数的参数作为要在对象中检索的项目,但是当我只是输入:
this.stat
它搜索名为stat的项目(在对象playerSats中),而不是名为intel的项目(这是我的参数)。请帮忙!
P.S。这是我的目标:
var playerStats = {
playerLvl: 1,
power: strength,
intel: intelligence,
sped: speed
};
答案 0 :(得分:2)
试试这个:
var statShow = function(stat) {
console.log("Your "+stat+" is "+this[stat]+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");
此外,你为什么这样做:playerSats.stat = stat;
?
答案 1 :(得分:1)
只需对象使用括号表示法:
var statShow = function(stat) {
this[stat] = stat;
console.log("Your "+stat+" is "+this[stat]+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");
我很困惑你为什么要这样做,因为你刚刚将property name
和value
设置为相同的值......这意味着你甚至看不出差别
答案 2 :(得分:1)
您可以使用object[propertyName]
样式语法访问javascript对象的属性。
要在当前设置中使用它,使用
就足够了var statShow = function(stat) {
console.log("Your "+stat+" is "+this[stat]+"!");
};
playerStats.statShow = statShow;
playerStats.statShow("intel");