我不太了解javascript,所以我可能会误解对象的基本内容。我明白两者之间有区别。和[],这可能是问题的一部分,但我不知道如何解决这个问题。
var game = {
playerlvl:1
}
function displayinfo(name){
var info = document.getElementById( name );
info.innerHTML = game[name];
}
displayinfo(playerlvl);
我希望函数的结果与:
相同document.getElementById("playerlvl").innerHTML = game.playerlvl;
答案 0 :(得分:2)
引号中缺少所有内容:
displayinfo("playerlvl");
在JavaScript中,您可以使用点表示法和文字属性名称(game.playerlvl
)或使用括号表示法和字符串属性名称来访问属性( game["playerlvl"]
)。 (在ES6中,括号表示法也支持Symbol
s。)括号中的字符串(或Symbol
)可以是任何表达式的结果,包括变量/参数查找。如果game[name]
的值是一个字符串,或者可以合理地转换成一个字符串,那么name
就有效。
您已经在displayinfo
中正确使用括号表示法,您只需要传递一个字符串而不是使用文字。您使用文字的代码尝试在playerlvl
行上使用名为displayinfo(playerlvl)
的变量,该变量不存在,因此获得ReferenceError
。
答案 1 :(得分:1)
我在这里为您解决http://jsfiddle.net/xt7utnhz/
您刚刚失踪displayinfo("playerlvl");