猿问

js 构造函数问题

function Car() {
}

Car.prototype.color = "blue";
Car.prototype.doors = 4;
Car.prototype.mpg = 25;
Car.prototype.drivers = new Array("Mike","John");
Car.prototype.showColor = function() {
  alert(this.color);
};

var oCar1 = new Car();
var oCar2 = new Car();

oCar1.drivers.push("Bill");

alert(oCar1.drivers);	//输出 "Mike,John,Bill"
alert(oCar2.drivers);	//输出 "Mike,John,Bill"

函数共享不会造成问题,但是为什么对象共享就出现问题了呢
  oCar1 跟oCar2 是指向同一个showColor()吗?  如果是 改变其中一个color的属性值为什么 另一个不会改变呢 ?  而对象却会改变呢?
宝慕林4294392
浏览 445回答 3
3回答

开心每一天1111

应该是方法和对象的存储类型不同吧

慕娘9325324

等下给你代码

aluckdog

谢谢 主要是没弄懂 函数共享没什么问题  为什么对象共享就出问题了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答