【发布时间】:2019-11-30 15:04:38
【问题描述】:
我在 JS 中创建了一个名为 House 的构造函数。
function House(color, floor, location){
this.color = color;
this.floor = floor;
this.location = location;
}
使用这个原型,我又创建了两个名为myHouse 和myOldHouse 的对象。
var myHouse = new House('brick red', '1st floor', 'saltlake');
var myOldHouse = new House('Yellow', '2st floor', 'Koikhali');
然后我在myHouse 对象中添加了一个名为address 的新方法。
myHouse.address = function(address){
this.address = address;
console.log('My address is '+this.address);
}
现在我想将此方法添加到myOldHouse 对象以及使用调用函数。
myHouse.address.call(myOldHouse, '2G');
但是当我打电话给myOldHouse.address() 时,它显示错误。
【问题讨论】:
-
因为在您的地址函数中,您将地址设置为参数,然后您运行调用,但地址值不再是函数。
标签: javascript object constructor prototype call