Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 有没有一种方法可以通过引用另一个属性来定义原型属性?_Javascript_Properties_Prototype - Fatal编程技术网

Javascript 有没有一种方法可以通过引用另一个属性来定义原型属性?

Javascript 有没有一种方法可以通过引用另一个属性来定义原型属性?,javascript,properties,prototype,Javascript,Properties,Prototype,假设定义了一个简单的原型: function Person(firstName, lastName) { this.firstName = firstName; this.lastName = lastName this.fullName = first + " " + last; } 现在,我想添加一个新的属性,名为昵称。(但我不想使用一种已经有很好文档记录的方法) 我用过: Person.prototype = { get nickName(){

假设定义了一个简单的原型:

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName
  this.fullName = first + " " + last;
}
现在,我想添加一个新的属性,名为
昵称
。(但我不想使用一种已经有很好文档记录的方法)

我用过:

Person.prototype = {
        get nickName(){
            return this.firstName+ this.lastName.charAt(0);
    }
};
但它不适用于已经创造出来的人


我只是想知道,除了在初始定义中包含它之外,是否还有其他方法可以做到这一点。

您可以在原型中添加一个新方法:

Person.prototype.nickname = function() { 
  return this.firstName + this.lastName.charAt(0); 
}

谢谢@Rayon您的建议确实有效,但必须在声明var p之前提交。似乎对于声明var后的工作,必须使用下面Alberto Trindade.Obrigado Alberto的答案中建议的方法。我现在只想知道,除了使用方法的解决方案之外,是否还有一种使用属性的方法,并且可以在声明对象实例之后进行添加。
Person.prototype.nickname = function() { 
  return this.firstName + this.lastName.charAt(0); 
}