`

javaSctipt之多繼承

阅读更多

javaScript中支持多繼承,通過this關鍵字實現多繼承. 下面這個例子是來判斷父母結合后,隨機產生子女

//下面探討的問題是 父母結合后子女的性別
function father(){
	this.DNA1 = 'X';
	this.DNA2 = 'Y';
	//存儲father中所有的染色體的數組
	this.arrayF = [this.DNA1,this.DNA2];
	this.sex = function(){
		this.DNA = this.DNA1+" " +this.DNA2;
		//console.log('this is  a man');
	}

}
function mother(){
	this.DNA1 = 'X';
	this.DNA2 = 'X';
	//存儲mother中所有的染色體的數組
	this.arrayM = [this.DNA1,this.DNA2];
	this.sex = function(){
		this.DNA= this.DNA1+" " +this.DNA2;
		//console.log('this is  a woman');
	}

}
//定義全局變量,統計出現的次數,
var count = 0; 
var count1 = 0;
var count2 = 0;

function children(){
	
	this.mother = mother;
	this.father = father;
	//從father中隨機取出一條染色體
	this.DNA1 = this.arrayF[Math.floor(Math.random()*(this.arrayF.length)+1)-1];
        //從mother中隨機取出一條染色體
	this.DNA2 = this.arrayM[Math.floor(Math.random()*(this.arrayM.length)+1)-1];
	//如果是男孩
	if(this.DNA1 !== this.DNA2){	
		count1++;
		this.sex="The baby is  a boy"
	}else{
		count2++;
		this.sex="The baby is  a girl"
	}
	count++;
	console.log(this.sex);	

};
//測試函數
function test(label){
    for(var i=0;i<label;i++){
        children();
        console.log('男孩出現的次數為: '+count1+"\n"+'女孩出現的次數為: '+count2+"\n"+"總次數為: "+count);
    }
}
//test(10);

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics