18. JS编程之批量改变对象的属性(如何向构造函数中添加对象属性)

题目描述
给定一个构造函数 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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值