我有点问题。
我有这个构造函数:
function person(vName, vLastname, vID) {
var name= vName;
var lastname = vLastname;
var id= vID;
this.getName = function () {
return name;
}
this.getLast = function () {
return lastname;
}
this.getId = function () {
return id;
}
this.getJSON = function () {
var json = {"name": name, "last": lastname, "id": id};
return JSON.stringify(json);
};
}
我创建了一个对象:
var person = new person("John", "Connor", "t3000");
我希望使用如下循环来显示他的信息:
for (index in person) {
document.getElementById("dPerson").innerHTML += "<br>"+index+" : " + person[index]+"</br>";
}
但我得到的只是:
getName : function () { return name; }
getLast : function () { return lastname; }
getId : function () { return id; }
getJSON : function () { var json = {"name": name, "last": lastname, "id": id}; return JSON.stringify(json); }
我该怎么办?我不想公开属性。
答案 0 :(得分:0)
你非常接近。您唯一需要做的就是调用函数而不是获取函数定义。
像这样:
for (index in person){
document.getElementById("dPerson").innerHTML += "" + index +
" : " + person[index]() + "";
}