一段代码

请用JavaScript编写一个Car类,包含:一个属性pertrol,表示车辆目前剩余的汽油方法run,每调用一次,汽车的pertrol含量就会减一方法clone,用于深度复制Car对象方法cloneCount,用于获取clone的次数,使用clone方法复制得到的对象的cloneCount应被重置为0。请考虑Car类可能会被继承的情况下的最优方案

function Car(l){		
		this.pertrol= l || 200;		
		this.cloneNum = 0;				
	}
	Car.prototype = {
			constructor : Car,
			clone:function(){
				this.cloneNum++;
				function sub(){
					
				}
				sub.prototype = this.constructor.prototype;
				var clone = new sub();
				for(var i in this){
					if(this.hasOwnProperty(i)){
						clone[i]=this[i];
					}
				}
				clone.cloneNum=0;
				return clone;
			},
			cloneCount:function(){
				return this.cloneNum;
			},
			run:function(){
				
			}
				
	}
			
	var carA = new Car();	
	var c1 = carA.clone();  //c1 carA cloneNum=1,  c1  cloneNum=0;
	var c2 = carA.clone();  //c2 carA cloneNum=2,  c2  cloneNum=0;
	var cc1 = c1.clone();  //cc1 c1 cloneNum=1,  cc1  cloneNum=0;
	var cc1a = c1.clone();
	var cc1b = c1.clone();
	
	var $carA_cloneCount = carA.cloneCount();
	var $c1_cloneCount = c1.cloneCount();
	var $c2_cloneCount = c2.cloneCount();
	var $cc1_cloneCount = cc1.cloneCount();

http://bbs.csdn.net/topics/390716167

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值