题目描述
给定一个构造函数 constructor,请完成 alterObjects 方法,将 constructor 的所有实例的 greeting 属性指向给定的 greeting 变量。
示例
//输入
var C = function(name) {this.name = name; return this;};
var obj1 = new C('Rebecca');
alterObjects(C, 'What\'s up'); obj1.greeting;
//输出
What's up
题目解读:“将 constructor 的所有实例的 greeting 属性指向给定的 greeting 变量” 意思是通过构造函数constructor创建的实例中都具有greeting属性,这个属性的值等于greeting变量的值。因为创建的实例会继承构造函数中的属性,所以直接在构造函数中添加属性greeting并赋值即可。
编程实现
利用constructor.prototype.greeting = greeting
进行创建属性并赋值。
prototype
是函数的原型,包含了函数的所有属性和方法。
function alterObjects(constructor, greeting) {
constructor.prototype.greeting = greeting;
}
var C = function(name) {this.name = name; return this;};
var obj1 = new C('Rebecca');
alterObjects(C, 'What\'s up');
obj1.greeting;