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

四川城乡住房城乡建设厅网站中国检验认证集团北京有限公司

四川城乡住房城乡建设厅网站,中国检验认证集团北京有限公司,政务内网网站群建设,重庆360网络推广JS继承-ES6-基于 class 实现继承 mdn 类 阮一峰 ES6-class mdn-super ES6中推出了class类,是用来创建对象的模板。 class可以看作是一个语法糖,它的绝大部分功能#xff0c;ES5 都可以做到#xff0c;新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已…JS继承-ES6-基于 class 实现继承 mdn 类 阮一峰 ES6-class mdn-super ES6中推出了class类,是用来创建对象的模板。 class可以看作是一个语法糖,它的绝大部分功能ES5 都可以做到新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。 class 核心语法: MDN-类 // 定义类 class Person {// 实例属性namefood// 构造方法类似于构造函数new的时候会调用内部的this就是实例化的对象constructor(name, food) {this.name namethis.food food}// 实例方法sayHi() {console.log(你好我叫${this.name},我喜欢吃${this.food})} } const p new Person(小黑, 西蓝花) p.sayHi()总结 class核心语法 通过class 类名{}的形式来定义类内部直接写实例属性,可以设置默认值实例方法的添加方式为方法名(){}构造函数通过constructor进行添加通过new 类名()创建实例,会调用构造函数constructor class Person{namefood西兰花炒蛋constructor(name){this.namename}sayHi(){console.log(你好,我叫:,this.name)} } class 实现继承 子类通过 extends 继承父类子类构造函数中通过 super 调用父类构造函数 // 在上一份代码的基础上继续编写下面代码 class Student extends Person {songconstructor(name, food, song) {// 子类构造函数使用this以前必须调用supersuper(name, food)this.song song}// 添加方法sing() {console.log(我叫${this.name},我喜欢唱${this.song})} } const s new Student(李雷, 花菜, 孤勇者) s.sayHi() s.sing()总结 class实现继承 子类通过extends继承继承父类子类如果需要重新定义构造函数,必须在内部通过super关键字调用父类的构造函数 class 私有属性静态属性和方法 私有属性 / 方法静态属性 / 方法 class Person {constructor(name) {this.name name}// 通过#作为前缀添加的属性会变为私有// 私有属性#secret 我有一个小秘密就不告诉你// 私有方法#say() {// 私有属性可以在console.log(私有的say方法)}info() {// 在类的内部可以访问私有属性调用私有方法console.log(this.#secret)this.#say()}// 通过 static定义静态属性/方法static staticMethod() {console.log(这是一个静态方法)console.log(this)}static info 直立行走双手双脚 }const p new Person(jack) console.log(p) // 外部无法访问 点语法访问直接报错通过[]无法动态获取 console.log(p[#secret]) p.info() // 通过类访问静态属性/方法 Person.staticMethod() console.log(Person.info)总结 class 语法补充 class中私有属性/方法 定义和使用时需要使用关键字#私有属性只能在类的内部使用,外部无法使用(代码中)Chrome的控制台中为了方便调试,可以直接访问 class中静态属性/方法 定义和使用时需要使用关键字static通过类访问静态方法中的this是类 JS继承-ES5-基于原型和构造函数实现继承 ES5-寄生组合式继承 所谓寄生组合式继承即通过借用构造函数来继承属性通过原型链的混成形式来继承方法。 组合式继承借用构造函数原型链寄生父类的原型中有子类的构造函数 其背后的基本思路是:不必为了指定子类型的原型而调用超类型的构造函数我们所需要的无非就是超类型原型的一个副本而已。 核心步骤: 通过构造函数来继承属性通过原型链来继承方法 // 继承原型函数 function inheritPrototype(son, parent){const prototype object.create(parent.prototype)prototype.constructor sonson.prototype prototype }// 父类构造函数 function Parent(name) {this.name namethis.foods [西蓝花, 西葫芦, 西红柿] }Parent.prototype.sayHi function () {console.log(this.name, 我喜欢吃,${this.foods}) }// 子类借用父类的构造函数将 thisname 参数传递给父类 function Son(name, age) {Parent.call(this, name)this.age age } // 完成原型继承 inheritPrototype(Son,Parent) // 可以继续在原型上添加属性/方法 Son.prototype.sayAge function () {console.log(我的年龄是, this.age) }const son1 new Son(jack, 18) const son2 new Son(rose, 16)总结 ES5-寄生组合式继承 寄生组合式继承的核心步骤是通过构造函数来继承属性通过原型链来继承方法寄生组合式继承和组合式继承的区别是原型链的继承并没有调用父类的构造函数而是直接基于父类的原型创建一个新副本实现继承
http://www.pierceye.com/news/180885/

相关文章:

  • 怎么做化妆品网站内容规划免费做网站的网页
  • seo站外优化平台网站建设程序流程
  • 凡科轻站官网做个简单的企业小网站
  • 动漫做h免费网站有哪些系统开发是做什么的
  • 企业做网站流程全国地推公司排名
  • 揭阳新闻最新消息常用的seo工具推荐
  • 网站方案策划中国最大的博客网站
  • 网站建设加空间食品包装设计ppt
  • 搭建一个网站 优帮云张家口远大建设集团网站
  • wordpress本地视频播放器苏州谷歌seo
  • 银川网站建设有哪些16岁做分期网站
  • 制作网站对话框火车票网站建设多少
  • 怎么问客户做不做网站设计一个简单的广告
  • 佛山 网站关键词优化trel域名
  • 哪家网站建设好大连房产网
  • 企业做推广哪些网站比较好兰州有做百度网站的吗
  • 网站建设和管理规则自己建网站的流程
  • 网站的前期推广广州网站建设加盟
  • 网站灰色 代码深圳的深圳的网站建设公司
  • 做电影采集网站需要多大vps安徽建设新工程信息网站
  • 中小企业网站制作化工厂网站建设
  • 电子政务网站建设出版社百度网页提交入口
  • 专业柳州网站建设哪家便宜淄博桓台网站建设定制
  • 网站建设投标标书企业网站建设销售前景
  • wordpress建站教程凌风wordpress 仪表盘 慢
  • 怎样给网站或者商品做推广关于建网站新闻
  • 上海 微信网站 建站一对一直播app
  • ppt模板免费下载网站哪个好克拉玛依市住房和建设局网站
  • 制作网站得多少钱交互设计留学
  • 理财网站免费建设经典重庆新闻论坛