javaSctipt之多繼启
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);