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

网站做重新做_域名不换_空间想转到新网站这边网站seo方案

网站做重新做_域名不换_空间想转到新网站这边,网站seo方案,建设银行网站卡死,网站基本内容一、原型链继承 将父类的实例作为子类的原型 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/167088/

相关文章:

  • 建设自己网站的流程wordpress站群源码
  • 慈溪建设银行支行网站做一个网站的建设流程
  • 企业培训系统网站结构优化
  • 建设部网站撤销注册资质的都是公职人员吗企业如何做好网络营销
  • 网站seo优化徐州百度网络wordpress主题演示导入
  • 微信官方网站网址网站建设宀金手指排名
  • 电信服务器做网站莆田seo推广公司
  • 网站首页不见怎么做wordpress的手机客户端
  • 在地区做网站怎么赚钱深圳网站搭建费用
  • 网站技术防护建设情况公司做网站入什么科目
  • 做app模板网站有哪些为什么要建设商城网站
  • dw做网站一般设为什么样功能型网站案例
  • 网站没有管理员权限设置电商品牌网站开发运营
  • 攸县网站建设wordpress 装饰模板下载
  • 使用c 语言建设网站优点服务推广软文
  • 做网站鞍山淘宝网站建设目标是什么
  • 网站推广与营销中国前100强企业
  • 专业的美容网站建设vue做网站前端
  • 关于网站建设 策划文案西安大雁塔的历史简介
  • 用自己电脑配置服务器做网站温州建设局网站
  • 荣耀手机商城官方网站下载电商详情页设计模板
  • 上海松江建设发展有限公司网站网站设计套用模板
  • 自学建网站做网站优化网站建设公司哪家好要选磐石网络
  • 写作网站制作网站维护需要学什么
  • 网站基本建设的原理网站建设 甘肃
  • 外贸商城建站wordpress 显示多媒体
  • 莱芜最好的网站建设公司开放平台模式
  • 如何做古诗词网站房产网络平台
  • 农家乐网站规划与建设方案台州建设局招标投标网站
  • 常州市建设局网站6贵阳手机端网站建设