//父类
function Fclass(name,age) {
this.name = name;
this.age = age;
}
//放在原型上所有新的实例可以共有这个函数
Fclass.prototype.showName = function () {
alert(this.name);
};
Fclass.prototype.showAge = function () {
alert(this.age);
};
//子类
function Sclass(name,age,job) {
//如果js想要实现继承的话,就要调用父类call方法,把this传进去
//属性的继承
// Fclass.apply(this,[name,age]);
Fclass.call(this,name,age);
this.job = job
}
//方法的继承
Sclass.prototype = new Fclass();
Sclass.prototype.showJob = function () {
alert(this.job);
};
var chile = new Sclass('Jack',18,'老司机');
chile.showName();
如果js想要实现继承的话,就要调用父类call方法,把this传进去
call和apply
//call和apply
//二者都可以改变当前的this,区别在于apply方法要将参数放入数组中在传参
function aa(a,b) {
alert('我的this是' + this + ',我的a是' + a + ',我的b是' + b);
}
aa.call('abc',2,3);
aa.apply('abc',[2,3]);
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。