我正在Codecademy上一门类(class),他们的许多初学者类(class)都使用console.log()命令打印到控制台。但是,我想尝试使用 document.GetElementById()和 innerHTML ,但是它不是打印出所选对象的详细信息,而是仅打印“[object Object]”,而console.log()则打印详细信息 key ?
这是我的代码:
<div id="myfrndDetails"></div>
<script>
var frnds = new Object();
frnds.bill = {
firstName: "Bill",
lastName: "Gates",
phoneNumber: "8778787"
}
frnds.steve = {
firstName: "Bill",
lastName: "Gates",
phoneNumber: "8778787"
}
var frndCard = function(frndName,frndLst) {
for (var onefrnd in frndLst) {
if (frndLst[onefrnd].firstName === frndName) {
document.getElementById("myfrndDetails").innerHTML = frndLst[onefrnd];
return frndLst[onefrnd];
}
}
};
frndCard("Bill",frnds);
</script>
最佳答案
这是因为frndLst [onefrnd]是一个对象,并且其toString
方法将打印[object Object]
。
使用JSON.stringify(frndLst[onefrnd])
查看该对象的JSON表示形式
或者,替换此行
document.getElementById("myfrndDetails").innerHTML = frndLst[onefrnd];
通过
document.getElementById("myfrndDetails").innerHTML = "lastname - " + frndLst[onefrnd].lastName + " and phoneNumber " + frndLst[onefrnd].phoneNumber ;