Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为已定义的JavaScript对象定义getter属性?_Javascript_Getter_Javascript Objects - Fatal编程技术网

如何为已定义的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());