//基本用法
function A(){ this.name='A'; this.func=function(x,y){ console.log(this.name,x+y); } } function B(){ this.name='B'; } var a=new A(); var b=new B(); //b调用a的func. a.func.call(b,5,6);//B 11 a.func.apply(b,[5,6]);//B 11
//升级用法 B“继承”A
function A(name){ this.a='a'; this.name=name; this.showName=function(a,b){ console.log(a+b); } } function B(name){ A.call(this,name); } B.prototype=new A(); B.prototype.bfunc=function(){ console.log('bfunc'); } var bb=new B('bbbbb'); console.log(bb instanceof A);//true console.log(bb instanceof B);//true console.dir(bb);