说继承之前说说: oop面向对象 oop三大特性:封装,继承,多态
this :简单理解:谁调用谁表示this(这个有瑕疵)
继承的意义:
理解:这里使用java 的继承进行理解----子类继承父类就可以使用父类的方法以及属性。
使用场景:可以把公用的方法及属性放入父类,而非公有的放入子类。这样可以简化代码。
业务描述:定义一个js构造器人 在该构造器中定义一个名字和说话的方法
然后定义学生,学生有自己的年龄,但学生也是人所以就继承人,就不需要再写say(),和name了
js 实现继承方式如下,
//1、构造器式继承 function Person(name) { this.name=name; this.say=function () { console.log("name---"+this.name) } } function Student(age) { this.age=age; this.jichengfn=Person;// this.jichengfn(name); } var s=new Student("xlz",12) s.say(); //2、使用call/apply 的区别在于第二个参数 call 是多个参数 而apply 的//第二个参数是数组 意义:改变this的指向 function Person(name) { this.name=name; this.say=function () { console.log("name---"+this.name) } } function Student(age) { this.age=age; Person.call(this,arguments[0]); //这里的arguments 表示实参数组 } var p=new Student("xlz",12) s.say();