继承继承 继承谁呢? 首先得有个继承的父类吧
function father(age){
this.type="人",
this.methods = function(){
console.log('我是你爸里面的一个方法')
}
}
子类
function son(name){
this.name = name
}
原型链继承
将子类的原型指向父类的实列
son.prototype = new father()
//实例化子类
var Son = new son('无名')
此时子类 Son 已经继承了父类的方法
//父类
function father(age){
//属性
this.type="人",
//方法
this.methods = function(){
console.log('我是你爸里面的一个方法')
}
}
//子类
function son(name){
this.name = name
}
son.prototype = new father()
var Son = new son('无名')
Son.methods() //继承父类methods方法
console.log('Son的属性',Son.type) //继承父类的type属性
构造函数继承(不能调用父类原型上的属性和方法)
子类的构造函数通过call改变this指向
function son(name){
father.call(this)
this,name = name
}
//实例化对象
var Son = new son('无名')
console.log(Son.name,Son.type) //无名 人
Son.methods() // console 我是你爸里面的一个方法
//=父类
function father(age){
//属性
this.type="人",
//方法
this.methods = function(){
console.log('我是你爸里面的一个方法')
}
}
//父类2
function father2(){
this.sex = '男'
}
//子类
function son(name){
father.call(this)
father2.call(this)
this.name = name
}
var Son = new son('无名')
console.log(Son.name,Son.type) //无名 人
Son.methods() // console 我是你爸里面的一个方法
console.log(Son.sex) //男
|