##call继承


function F1(){
this.x=100;
this.y=200;
}
F1.prototype.getX=function(){
console.log(this.x)
}
function F2(){
//this->F2实例,f2
//F1()->this==window,想办法把F1()执行的时候里面的this变成f2
F1.call(this)
//call让F1()执行了,就是this.x=100;this.y=200
}
var f2=new F2()

原型的继承

子类继承父类的属性和方法

1.原型继承

首先建立两个类

function F1(){
this.x=100;
}
function F2(){};
F1.prototype.getX=function(){
console.log(this.X)
}
F2.prototype=new F1();
F2继承F1这个类的属性
F2.prototype.__proto__指向F1.prototype
F2.prototype.getX();
F2向原型中查找到F1这个类的getX属性
原型继承的核心就是实例会继承所属类的属性!这样的话,子类的原型上就会通过父类得来的私有属性,还可以通过实例得到所属类的公有属性.以后在创建实例的时候,就可以一级一级向上找,找到这个所属类的原型
posted @ 2017-06-26 14:07  和盛商行  阅读(148)  评论(0编辑  收藏  举报