假设我有以下带有人员对象的 JSON。
[
{
"name": "Alice",
"age": 28,
},
{
"name": "Bob",
"age": 33
}
]
如果我解析它,我将得到一个包含两个 JavaScript 对象的数组。 比方说,我想为这两个对象配备一个名为 introduce 的方法,它会做类似这样的事情
function introduce() {
return "My name is " + this.name + " and I am " + this.age + " years old.";
}
现在,我可以遍历我的两个人并调用
person.constructor.prototype.introduce = introduce
但是,这将在所有 JavaScript 对象中公开 introduce 函数,而不仅仅是上面的两个。
我也可以手动将函数附加到每个对象,但是如果我想用额外的函数扩展我的人,我将不得不再次迭代所有的人。
理想情况下,我想要一个可以适应 introduce
方法的原型(prototype),然后将这个原型(prototype)附加到我所有的人身上,所以如果我以后扩展原型(prototype),我的人将获得额外的功能作为好吧。
问题是:如何?
最佳答案
我建议你创建一个类:
var Person = (function () {
function Person(person) {
this.person = person;
this.name = person.name;
this.age = person.age;
}
Person.prototype.introduce = function () {
return "My name is " + this.name + " and I am " + this.age + " years old.";
};
return Person;
})();
关于javascript - 将原型(prototype)附加到 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23135637/