首页 新闻 会员 周边

js 构造函数问题

0
[已解决问题] 解决于 2016-04-14 16:04
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的属性值为什么 另一个不会改变呢 ?  而对象却会改变呢?
liyanzhao的主页 liyanzhao | 初学一级 | 园豆:42
提问于:2016-04-07 18:06
< >
分享
最佳答案
0

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

奖励园豆:5
雨落~无痕 | 菜鸟二级 |园豆:478 | 2016-04-08 13:04
其他回答(1)
0

等下给你代码

王庆东mas | 园豆:4 (初学一级) | 2016-04-07 18:13

谢谢 主要是没弄懂 函数共享没什么问题  为什么对象共享就出问题了。

支持(0) 反对(0) liyanzhao | 园豆:42 (初学一级) | 2016-04-07 18:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册