js原型与继承

1.原型

js原型与继承

js原型与继承

该person函数的原型对象的类型为object

2.继承

js原型与继承

与子类继承父类,子类可以在父类基础之上可以扩展有相似之处。

在Javascript有四种继承方式:

  利用原型对象实现继承

  替换原型对象实现继承

  利用Object.create();方法实现继承

  混入继承

四种方法的实现:

1.利用原型对象实现继承

案例:

js原型与继承

对于person的原型对象增加的方法sayhello

2.替换原型对象实现继承

案例:

js原型与继承

对于perso的原型对象的改写更新

3.利用Object.create();方法实现继承

案例:

js原型与继承

4.混入继承

案例:

js原型与继承

注:混入继承和原型对象继承可以组合使用,实现以对象的方式传递参数或以对象的方式扩展原型对象的成员。

3.静态成员

js原型与继承

两个对象的成员,一个需要实例化对象才能输出,另一个不需要实例化对象就能输出出来

4.属性搜索原则

js原型与继承

js原型与继承为例,先访问当前对象,访问到person类中name属性,返回该属性。若person类中没有name属性,那么继续访问到A中的原型对象B,返回属性,以此类推。若最后没有该属性,返回undefined。
注意:属性搜索原则只对属性的访问操作有效,对于属性的添加或者修改,都是在对象中进行的。

5.原型链

js原型与继承

js原型与继承

js原型与继承输出结果均为true

js原型与继承

js原型与继承

js原型与继承

js原型与继承

案例:

js原型与继承

js原型与继承

js原型与继承

js原型与继承