我试图通过函数参数传递对象属性名称,但它不起作用。这是我的脚本(详情如下,之后):
<!DOCTYPE html>
<html>
<body>
<button onclick="myButton()">Try it</button>
<p id="display"></p>
<p id="display2"></p>
<script>
var person = {"name":"dupont","surname":"bob"};
function myButton() {
document.getElementById("display").innerHTML = person.name;
function personInfoDetails(x) {
document.getElementById("display2").innerHTML = person[x];
}
personInfoDetails(name);
}
</script>
</body>
</html>
我想通过函数“personInfoDetails(x)”显示“dupont”,即我的对象“person”的属性“name”下的存储值。为此,我执行此函数,通过我的对象“person”的属性“name”替换其参数“x”。但它显示“未定义”。
这是live preview of this script。
我已经准备好阅读this post并尝试将其解决方案应用于我的问题,但它仍无效。
非常感谢您的解决方案!
答案 0 :(得分:2)
您需要使用引号name
""
var person = {
"name": "dupont",
"surname": "bob"
};
function myButton() {
document.getElementById("display").innerHTML = person.name;
function personInfoDetails(x) {
document.getElementById("display2").innerHTML = person[x];
}
personInfoDetails("name");
}
&#13;
<!DOCTYPE html>
<button onclick="myButton()">Try it</button>
<p id="display"></p>
<p id="display2"></p>
&#13;