11.原型链继承.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>原型链继承</title>
  8. </head>
  9. <body>
  10. <!--
  11. 方式一:原型链继承
  12. 1、套路
  13. (1)定义父类型构造函数
  14. (2)给父类型的原型添加方法
  15. (3)定义子类型的构造函数
  16. (4)创建父类型的对象赋值给子类型的原型
  17. (5)将子类型原型的构造属性设置为子类型
  18. (6)给子类型原型添加方法
  19. (7)创建子类型的对象:可以调用父类型的方法
  20. 2、关键
  21. 子类型的原型为父类型的一个实例对象
  22. -->
  23. <script>
  24. //父类型
  25. function Supper() {
  26. this.supProp = 'Supper property'
  27. }
  28. Supper.prototype.showSupperProp = function(){
  29. console.log(this.supProp)
  30. }
  31. //子类型
  32. function Sub(){
  33. this.subProp = 'Sub property'
  34. }
  35. //子类型的原型为父类型的一个实例对象
  36. Sub.prototype = new Supper()
  37. //让子类型的原型的constructor指向子类型
  38. Sub.prototype.constructor = Sub
  39. Sub.prototype.showSubProp = function(){
  40. console.log(this.subProp)
  41. }
  42. var sub = new Sub()
  43. sub.showSupperProp()
  44. sub.showSubProp()
  45. console.log(sub.constructor)
  46. </script>
  47. </body>
  48. </html>