1.apply方法
function School(){
this.name = 'HEU';
this.showName = function(){
console.log(this.name);
}
}
function Unit(){
this.uname = 'meituan.com';
this.showUname = function(){
console.log(this.uname);
}
}
function Applyer(){
//apply方法繼承School類和Unit類
School.apply(this, arguments);
Unit.apply(this, arguments);
}
var me = new Applyer();
me.showName();
me.showUname();
運行結果2.原型鏈方法
function Box(){
this.size = 2;
this.showSize = function(){
console.log('the size is ' + this.size);
};
}
function Package(){
}
Package.prototype = new Box();
var pack = new Package();
pack.showSize();
運行結果
function Box(){
this.size = 2;
this.showSize = function(){
console.log('the size is ' + this.size);
};
}
function Box2(){
}
function Package(){
}
Package.prototype = new Box();
var pack = new Package();
pack.showSize();
console.log(pack instanceof Box);
console.log(pack instanceof Package);
console.log(pack instanceof Box2);
運行結果
3.混合方式
function Fruit(season, weight){
this.season = season;
this.weight = weight;
}
Fruit.prototype.showMessage = function(){
console.log(this.season);
console.log(this.weight);
};
function Apple(season, weight, size){
Fruit.call(this, season, weight);
this.size = size;
}
Apple.prototype = new Fruit();
Apple.prototype.showMessage2 = function(){
console.log(this.season);
console.log(this.weight);
console.log(this.size);
};
var apple = new Apple('spring', 3, 2);
var pear = new Fruit('summer', 4);
apple.showMessage();
console.log('\n');
apple.showMessage2();
console.log('\n');
pear.showMessage();
//用instanceof進行測試 觀察
console.log('\n');
console.log(pear instanceof Fruit);
console.log(pear instanceof Apple);
console.log(apple instanceof Apple);
console.log(apple instanceof Fruit);
運行結果