如何为已定义的JavaScript对象定义getter属性?
考虑以下代码:如何为已定义的JavaScript对象定义getter属性?,javascript,getter,javascript-objects,Javascript,Getter,Javascript Objects,考虑以下代码: // Creating an empty object, without inheriting (binding) to any prototype var human = Object.create(null); human.firstName = 'Saeed'; human.lastName = 'Neamati'; 现在,我想向这个对象添加一个fullName属性,它返回对象的firstName+''+lastName 使用对象文字表示法,我可以简单地用以下方式编写g
// Creating an empty object, without inheriting (binding) to any prototype
var human = Object.create(null);
human.firstName = 'Saeed';
human.lastName = 'Neamati';
现在,我想向这个对象添加一个fullName
属性,它返回对象的firstName+''+lastName
使用对象文字表示法,我可以简单地用以下方式编写getter函数:
var human = {
firstName: 'Saeed',
lastName: 'Neamati',
get fullName() {
return this.firstName + ' ' + this.lastName;
}
}
但是我不知道如何将getter属性附加到已经在其他地方构建的对象。您可以使用
试试这个:
Human = function(){
human.firstName = 'Saeed';
human.lastName = 'Neamati';
};
human.prototype.getFullName = function(){
return this.firstName + ' ' + this.lastName;
}
var humanOne = new Human();
alert(humanOne.getFullName());
希望有帮助:)谢谢@Juljan。但是你写的不是getter属性。这是一种方法。
// from the example:
{ value: 0x9f91102,
get: function() { return 0xdeadbeef; } }
Human = function(){
human.firstName = 'Saeed';
human.lastName = 'Neamati';
};
human.prototype.getFullName = function(){
return this.firstName + ' ' + this.lastName;
}
var humanOne = new Human();
alert(humanOne.getFullName());