作家
登录

JavaScript六种继承方式

作者: 来源: 2017-06-26 13:42:44 阅读次 我要评论

传递参数

借助构造函数还有一个优势就是可以传递参数

  1. var person = { 
  2.  
  3.   name: 'Jiang', 
  4.  
  5.   friends: ['Shelby', 'Court'] 
  6.  
  7. } 
  8.  
  9. var anotherPerson = Object.create(person) 
  10.  
  11. console.log(anotherPerson.friends)  // ['Shelby', 'Court']  
  1. function SuperType(name) { 
  2.  
  3.   this.name = name 
  4.  
  5. } 
  6.  
  7. function SubType() { 
  8.  
  9.   // 持续SuperType 
  10.  
  11.   SuperType.call(this, 'Jiang') 
  12.  
  13.   
  14.  
  15.   this.job = 'student' 
  16.  
  17. } 
  18.  
  19. var instance = new SubType() 
  20.  
  21. console.log(instance.name)  // Jiang 
  22.  
  23. console.log(instance.job)   // student  

问题

如不雅仅仅借助构造函数,办法都在构造函数中定义,是以函数无法达到复竽暌姑

组合持续(原型链+构造函数)

组合持续是将原型链持续和构造函数结合起来,大年夜而发挥二者之长的一种模式。

思路就是应用原型链实现对原型属性和办法的持续,而经由过程借用构造函数来实现对实例属性的持续。

如许,既经由过程在原型上定义办法实现了函数复竽暌姑,又可以或许包管每个实例都有它本身的属性。

  1. function SuperType(name) { 
  2.  
  3.   this.name = name 
  4.  
  5.   this.colors = ['red', 'blue', 'green'] 
  6.  
  7. } 
  8.  
  9. SuperType.prototype.sayName = function () { 
  10.  
  11.   console.log(this.name) 
  12.  
  13. } 
  14.  
  15. function SubType(name, job) { 
  16.  
  17.   // 持续属性 
  18.  
  19.   SuperType.call(this, name) 
  20.  
  21.   
  22.  
  23.   this.job = job 
  24.  
  25. } 
  26.  

  27.   推荐阅读

      理解Linux的平均负载和性能监控

    在本文中,我们将解释 Linux 体系中最关键的治理义务之一——关于体系 / CPU 的负载(load)和平均负载(Load average)的机能监控。起首来看所有的类 UNIX 体系中两个重要的表述:>>>详细阅读


    本文标题:JavaScript六种继承方式

    地址:http://www.17bianji.com/lsqh/35904.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)