当前位置: 首页 > news >正文

霞浦建站公司wordpress添加备案号

霞浦建站公司,wordpress添加备案号,开源免费cms,wordpress接入安卓一、原型链继承 将父类的实例作为子类的原型 function Father(){this.name Tony }function Son() {}Son.prototype new Father()let son new Son();console.log(son.name) // Tony缺点: 父类所有的引用类型属性都会被所有子类共享,一个子类修改了属…

一、原型链继承

将父类的实例作为子类的原型

function Father(){this.name = 'Tony'
}function Son() {}Son.prototype = new Father()let son = new Son();console.log(son.name) // Tony

缺点:

  1. 父类所有的引用类型属性都会被所有子类共享,一个子类修改了属性值就会影响到其他子类。
  2.  子类不能给父类的构造函数传参

 二、构造函数继承

        在子类构造函数中调用父类构造函数并通过call或apply给父类传参、修改this指向。

function Father(name){this.info = {name:name,job:'teacher'}this.sayName(){console.log(this.info.name)}
}function Son (name){Father.call(this,name)
}let s = new Son('Jerry');let s2 = new Son ('Mike');console.log(s.info.name) //Jerryconsole.log(s2.info.name) // Mike

        通过使用call()apply()方法,Parent构造函数在为Child的实例创建的新对象的上下文执行了,就相当于新的Child实例对象上运行了Parent()函数中的所有初始化代码,结果就是每个实例都有自己的info属性。 

 优点:

  1. 可以给父类传参
  2. 父类的引用类型不会被子类共享

缺点:

  1. 子类不能访问父类原型上定义的方法(prototype上挂在的方法) 

三、组合式继承

        组合式继承综合了原型链继承和构造方法继承的优点,通过原型链继承获得父类原型对象上的属性和方法。通过引用父类构造方法达到隔离子类共享属性,给父类传递参数 。

function Father (name) {this.name=name}Father.prototype.sayName=function(){console.log(this.name)
}function Son (name) {Father.call(this,name)
}
Son.prototype = new Father()
//手动挂载构造起,指向自己的构造方法
Son.prototype.constructor = Sonlet s1 = new Son('Mike')s1.sayName() // Mikelet s2 = new Son('Jerry')s2.sayName() //Jerry

 优点:

  1. 父类的方法可以复用
  2. 子类可以向父类传参
  3. 父类构造函数中的引用类型数据不会被共享

四、原型继承

        对参数对象的一种浅复制 ,当Object.create()只有一个参数时与下面代码中的Object()方法相同

let student = {hobbies:['music','football','basketball']
}function Object (o) {function F(){}F.prototype=oreturn new F()
}let s1 = Object(student)
s1.hobbies.push('sing')console.log(s1.hobbies) //['music', 'football', 'basketball', 'sing']
let s2 = Object(student)
s2.hobbies.push('dance')
console.log(s2.hobbies) //['music', 'football', 'basketball', 'sing','dance']

优点:

  1. 父类方法可复用 

缺点:

  1. 父类的引用会被子类共享
  2. 子类不能向父类传参

五、寄生试继承

         寄生式继承是在原型继承基础上的拓展,类似于一个工厂模式,即创建一个用于封装继承的函数,该函数内部对参数对象做了增强。

function Object (person){function F () {}F.prototype = person;return new F()
}function createObject(person){let obj = Object(person)obj.sayHello = function(){console.log('hello')}return obj
}let person = {name:'tony',age:32
}let p1 = createObject(person)p1.sayHello() //hellop1.name //tony

六、寄生式组合继承

        组合式继承有看似完美却有一个缺点,那就是父类的构造函数会被执行两次,一次是父类实例化时,一类是子类实例化时。这样就会造成内存没必要的消耗,寄生式组合继承正是弥补了这个短板,时目前最为理想的继承方式。

function extend(subClass,superClass){var prototype = object(superClass.prototype);//创建对象prototype.constructor = subClass;//增强对象subClass.prototype = prototype;//指定对象
}

七、ES6继承

class supClass {constructor(name) {this.name = name}sayName(){console.log(this.name)}
}class subClass extends supClass{constructor (name) {super(name)this.name = name}
}let sub = new subClass ('subClass')console.log(sub.name)sub.sayName() // subClass

http://www.yayakq.cn/news/575543/

相关文章:

  • 电子商务网站建设开发南昌it制作电商网站的公司
  • 如何创建自媒体手机网站做猎头可以在哪些网站注册
  • 汕头建站费用免费推广产品的平台
  • 上市公司做网站有什么用做教程网站如何查用户搜索
  • 常州网站建设公司效果做众筹网站怎么赚钱吗
  • 建了网站但是百度搜索不到西安网站建设设计公司
  • 为什么我的网站百度搜不到晋江论坛怎么搜索
  • 开源wiki做网站怎么形容网站做的很好
  • 微信官网网页版登录入口青岛seo结算
  • 无锡网站建设 百家号怎么用自己的电脑做网站服务器
  • 网站做推广如何设计二维码网络维护合同范本
  • 华为公司网站建设相关内容旅游网站技术流程图
  • 校园网站建设申请报告做暧小视频免费网站
  • 怎么建立公司网站费用广州免费自助建站开发
  • 网站制作和收费标准搜索引擎推广和优化方案
  • 网站推广服务器怎么选统一门户网站建设参考规范
  • 江阴那家网站做的好国外服务器品牌前十大排名
  • 学习php网站开发wordpress主机分类信息网站
  • 北京婚纱摄影网站提示网站有风险
  • 网站企业快速备案在哪里可以学做网站
  • 对接公众号的网站怎么做编程软件自学网
  • 淘客网站开发培训公司介绍简历模板
  • 合肥市门窗工程在哪个网站接活做做图片的软件免费
  • 用什么网站开发封面制作app
  • 网页界面设计中的安全宽度是什么意思北京seo案例
  • 成品网站建设流程图微商城网站建设案例
  • 国际教育机构网站建设开发方案网站开发的标准
  • 企业网站建设遵循的原则企业网站销售
  • 网站建设运维情况自查报告wordpress 3.6
  • 软件下载网站如何履行安全管理义务企业在线注册