Javascript 使用构造函数参数向原型添加新属性

Javascript 使用构造函数参数向原型添加新属性,javascript,prototype,Javascript,Prototype,如果我有: function Person(name, age){ this.name = name; this.whoIs = function(){ alert('I am ' + this.name); } } var john = new Person('John'); john.whoIs(); 一切都会成功,我会得到一个很好的提醒:“我是约翰” 有没有一种方法可以将方法添加到构造函数之后的原型中,并且可以访问构造函数参数 比如: function

如果我有:

function Person(name, age){
   this.name = name;
   this.whoIs = function(){
        alert('I am ' + this.name);
   }
}
var john = new Person('John');
john.whoIs();
一切都会成功,我会得到一个很好的提醒:“我是约翰”

有没有一种方法可以将方法添加到构造函数之后的原型中,并且可以访问构造函数参数

比如:

function Person(name, age){
   this.name = name;
   this.whoIs = function(){
        alert('I am ' + this.name);
   }
}
Person.prototype.age = Person.arguments[1];
var john = new Person('John', 20);
john.age; // would give 20

有办法做到这一点吗?Ie:能否向原型添加属性或方法,以便在创建新实例时访问参数?

在原型中添加动态属性没有意义。将原型视为对象的蓝图

您可以这样做:


此外,还为每个
对象添加了
whoIs
功能。您可以将其添加到原型中:

function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.whoIs = function () {
    return 'I am ' + this.name;
}
var john = new Person('John', 20);
john.whoIs(); // would give "I am John"

在原型中具有动态属性是没有意义的。将原型视为对象的蓝图

您可以这样做:


此外,还为每个
对象添加了
whoIs
功能。您可以将其添加到原型中:

function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.whoIs = function () {
    return 'I am ' + this.name;
}
var john = new Person('John', 20);
john.whoIs(); // would give "I am John"

在原型中具有动态属性是没有意义的。将原型视为对象的蓝图

您可以这样做:


此外,还为每个
对象添加了
whoIs
功能。您可以将其添加到原型中:

function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.whoIs = function () {
    return 'I am ' + this.name;
}
var john = new Person('John', 20);
john.whoIs(); // would give "I am John"

在原型中具有动态属性是没有意义的。将原型视为对象的蓝图

您可以这样做:


此外,还为每个
对象添加了
whoIs
功能。您可以将其添加到原型中:

function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.whoIs = function () {
    return 'I am ' + this.name;
}
var john = new Person('John', 20);
john.whoIs(); // would give "I am John"

你不能<代码>此仅用于处理您拥有的数据。在定义原型时,您还无法获得值。您可以制作一种语言来实现这一点,但您可能想知道它有多有用。顺便说一下,你也可以用一个私有变量来解决这个问题。JavaScript有点支持私有变量。如果你加注释,大多数编辑都会选择它,但你不能<代码>此仅用于处理您拥有的数据。在定义原型时,您还无法获得值。您可以制作一种语言来实现这一点,但您可能想知道它有多有用。顺便说一下,你也可以用一个私有变量来解决这个问题。JavaScript有点支持私有变量。如果你加注释,大多数编辑都会选择它,但你不能<代码>此仅用于处理您拥有的数据。在定义原型时,您还无法获得值。您可以制作一种语言来实现这一点,但您可能想知道它有多有用。顺便说一下,你也可以用一个私有变量来解决这个问题。JavaScript有点支持私有变量。如果你加注释,大多数编辑都会选择它,但你不能<代码>此仅用于处理您拥有的数据。在定义原型时,您还无法获得值。您可以制作一种语言来实现这一点,但您可能想知道它有多有用。顺便说一下,你也可以用一个私有变量来解决这个问题。JavaScript有点支持私有变量。如果你添加注释,大多数编辑都会选择它。