给出以下代码:
function Person(firstName, lastName) {
this.FirstName = firstName;
this.LastName = lastName;
}
Person.prototype.showFullName = function() {
return this.FirstName + " " + this.LastName;
};
var person = new Person("xx", "xxxx");
var jsonString = JSON.stringify(person);
var thePerson = JSON.parse(jsonString);
我的目标是能够在thePerson上调用“showFullName”。虽然我知道JS确实没有对象,但是它必须具有某种方式可以说应该以某种方式对待某些事物,例如将
thePerson
转换为Person
。 最佳答案
据我所知,最好的方法是先构造一个 Vanilla 对象,然后使用类似jQuery的extend这样的数据将数据放到该对象上。
var thePerson = new Person(); // and make sure the constructor gracefully handles no arguments
jQuery.extend(thePerson, JSON.parse(stringData));
如下所述,如果您只是在创建浅拷贝,则无需使用
extend
。您可以循环浏览已解析数据的属性,然后将它们复制到目标对象上。