gpt4 book ai didi

javascript - 如何将对象文字映射为我的构造函数的实例?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:26 24 4
gpt4 key购买 nike

我有一个构造函数,如下所示:

var Person = function (name, age) {
this.name = name;
this.age = age;
}

Person.prototype = {
getAgePlusTwo: function () {
return this.age + 2;
}
}

我可以像这样创建一个对象并访问实例方法:

var p1 = new Person('Person1', 22);
p1.getAgePlusTwo();

但是我从 JSON 服务获取我的对象,所以我不能使用 new 来创建对象。有什么方法可以像这样映射对象文字:

var p2 = { name: 'Person2', age: 25 }

成为 Person 的一个实例,这样我就可以使用它的实例方法,比如 p2.getAgePlusTwo()?

最佳答案

如果您可以更改 Person 构造函数以接受一个保留所有信息而不是 nameage 参数的对象,我会这样做所以:

FIDDLE http://jsfiddle.net/JPQ57/2/

JS

var Person = function (optns) {
if(optns){
this.name = optns.name || "";
this.age = parseInt(optns.age) || 0;
}
}

var json1 = {name: "Person2", age: "22"}

var p2 = new Person(json1);

希望对你有帮助

关于javascript - 如何将对象文字映射为我的构造函数的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com