任何人都可以帮助我吗?被困一段时间,我需要做的就是打印出我对象的属性,任何人都知道为什么这不起作用?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function person(name, dateOfBirth, nationality){
this.name = name;
this.dateOfBirth = dateOfBirth;
this.nationality = nationality;
}
var mark = new person("mark oshea",25,"irish");
var text = "";
for(x in mark) {
text += mark[x];
}
</script>
</body>
</html>
答案 0 :(得分:1)
for ... in
循环将循环遍历给定数组/对象的所有属性。
您尝试使用属性(您真正想要的)访问您的对象。
如果您需要这些属性,text += x;
应该是您正在寻找的内容。
如果您想获取对象的值,可以使用forEach
,例如:
mark.forEach( function(value){
text += value;
});
答案 1 :(得分:0)
你的html缺少关闭/打开元素,而你没有声明'var text'。 试试这样:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Person</h1>
<p id="person"></p>
<script type="text/javascript">
function person(name, dateOfBirth, nationality){
this.name = name;
this.dateOfBirth = dateOfBirth;
this.nationality = nationality;
}
var text = "";
var mark = new person("mark oshea",25,"irish");
for(x in mark) {
text += mark[x] + " ";
}
var person_paragraph = document.getElementById("person");
person_paragraph.innerHTML = text;
</script>
</body>
</html>
有关DOM功能的更多信息,我建议摆弄mdn。
答案 2 :(得分:0)