一段代碼

請用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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章