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

山西网站建设价格山东手机网站建设公司

山西网站建设价格,山东手机网站建设公司,21天网站建设实录pdf,电商营业执照网上申请一、原型链继承 将父类的实例作为子类的原型 function Father(){this.name Tony }function Son() {}Son.prototype new Father()let son new Son();console.log(son.name) // Tony缺点#xff1a; 父类所有的引用类型属性都会被所有子类共享#xff0c;一个子类修改了属…一、原型链继承 将父类的实例作为子类的原型 function Father(){this.name Tony }function Son() {}Son.prototype new Father()let son new Son();console.log(son.name) // Tony缺点 父类所有的引用类型属性都会被所有子类共享一个子类修改了属性值就会影响到其他子类。 子类不能给父类的构造函数传参 二、构造函数继承 在子类构造函数中调用父类构造函数并通过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属性。  优点 可以给父类传参父类的引用类型不会被子类共享 缺点 子类不能访问父类原型上定义的方法prototype上挂在的方法  三、组合式继承 组合式继承综合了原型链继承和构造方法继承的优点通过原型链继承获得父类原型对象上的属性和方法。通过引用父类构造方法达到隔离子类共享属性给父类传递参数 。 function Father (name) {this.namename}Father.prototype.sayNamefunction(){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 优点 父类的方法可以复用子类可以向父类传参父类构造函数中的引用类型数据不会被共享 四、原型继承 对参数对象的一种浅复制 ,当Object.create()只有一个参数时与下面代码中的Object()方法相同 let student {hobbies:[music,football,basketball] }function Object (o) {function F(){}F.prototypeoreturn 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] 优点 父类方法可复用  缺点 父类的引用会被子类共享子类不能向父类传参 五、寄生试继承 寄生式继承是在原型继承基础上的拓展类似于一个工厂模式即创建一个用于封装继承的函数该函数内部对参数对象做了增强。 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.tj-hxxt.cn/news/137273.html

相关文章:

  • 网站的尺寸大型网站开发实战
  • 网站建设贰金手指下拉贰拾wordpress设置个人头像
  • 网站建设步骤图片素材网页开发者选项在哪里
  • 做淘宝客如何建自己的网站国外市场网站推广公司
  • html5效果网站有没有便宜的注册代理
  • 织梦网站突然打开很慢职业生涯规划网站开发背景
  • 建设网站cms网上推广兼职
  • 网站建设愿景品牌网站建设平台
  • 展会网站制作企业装修展厅公司
  • 那个网站开发三味wordpress post 模板
  • 哪里做公司网站图文广告开店培训班
  • 网站整站开发视频教程wordpress文章重复
  • 网站开发培训程序员南浔哪有做网站的
  • 宣威市住房与城乡建设局网站wordpress cron
  • 百度网站免费电话汽车网站网页设计
  • 功能型网站开发廊坊学校网站建设
  • 网站改版方案原则餐饮品牌策划设计公司
  • 网站开发相关期刊北京建设教育网站
  • 响应式网站建设模板文化馆 网站 设计
  • 企业网站开发意义人人建站网
  • 校园网站psd会所网站模板
  • 网站前端建设报价单电子商务网站建设有哪些流程图
  • 网站开发从零到上线天眼查网站建设公司
  • 山东建设局网站 王局为什么做电影网站没有流量吗
  • thinkphp做直播网站办公室电脑局域网组建
  • 永州商城网站建设wordpress 排除分类
  • 温州企业网站建设要多少钱wordpress 更换中文
  • 长春专业做网站公司排名网站建设方案协议书
  • 南京网站优化哪家好培训机构的网站建设
  • html网页设计网站开发报告做视频的背景音乐哪里下载网站