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

做淘宝一样的网站顶尖设计吧官网

做淘宝一样的网站,顶尖设计吧官网,网站开发常见毕业设计题目,家谱网站源码下载JS继承-ES6-基于 class 实现继承 mdn 类 阮一峰 ES6-class mdn-super ES6中推出了class类,是用来创建对象的模板。 class可以看作是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的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核心语法:

  1. 通过class 类名{}的形式来定义类
  2. 内部直接写实例属性,可以设置默认值
  3. 实例方法的添加方式为方法名(){}
  4. 构造函数通过constructor进行添加
  5. 通过new 类名()创建实例,会调用构造函数constructor
class Person{namefood='西兰花炒蛋'constructor(name){this.name=name}sayHi(){console.log('你好,我叫:',this.name)}
}

class 实现继承

  1. 子类通过 extends 继承父类
  2. 子类构造函数中通过 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实现继承

  1. 子类通过extends继承继承父类
  2. 子类如果需要重新定义构造函数,必须在内部通过super关键字调用父类的构造函数

class 私有属性,静态属性和方法

  1. 私有属性 / 方法
  2. 静态属性 / 方法
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 语法补充

  1. class中私有属性/方法
    1. 定义和使用时需要使用关键字#
    2. 私有属性只能在类的内部使用,外部无法使用(代码中)
    3. Chrome的控制台中为了方便调试,可以直接访问
  2. class中静态属性/方法
    1. 定义和使用时需要使用关键字static
    2. 通过类访问
    3. 静态方法中的this是类

JS继承-ES5-基于原型和构造函数实现继承

ES5-寄生组合式继承

所谓寄生组合式继承,即通过借用构造函数来继承属性,通过原型链的混成形式来继承方法。

  • 组合式继承:借用构造函数,原型链
  • 寄生:父类的原型中,有子类的构造函数

其背后的基本思路是:不必为了指定子类型的原型而调用超类型的构造函数,我们所需要的无非就是超类型原型的一个副本而已。

核心步骤:

  1. 通过构造函数来继承属性
  2. 通过原型链来继承方法
// 继承原型函数
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}`)
}// 子类借用父类的构造函数,将 this,name 参数传递给父类
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-寄生组合式继承

  1. 寄生组合式继承的核心步骤是:通过构造函数来继承属性,通过原型链来继承方法
  2. 寄生组合式继承和组合式继承的区别是:原型链的继承并没有调用父类的构造函数,而是直接基于父类的原型创建一个新副本实现继承
http://www.yayakq.cn/news/879761/

相关文章:

  • 咸宁网站建设公司怎么在自己电脑上做网站
  • 做网站建设的好处百度搜索大数据
  • 网站系统源代码建设银行舒城支行网站
  • 个人网站设计制作步骤备案成功的网站可以更换域名吗
  • wordpress首页标题不显示网站描述wordpress皮肤下载站
  • 襄阳专业网站建设wordpress 验证码不显示
  • 豆芽网站建设 优帮云建设网站要在需求
  • 青岛门户网站建设台州网站定制
  • 沈阳京科男科医院温州网站关键词排名优化
  • 评网网站建设网页打不开百度网盘
  • 上海公司网站建设以子wordpress翻页图片效果
  • 网站备案用英文怎么说企业管理培训课程简介
  • 上海建站宝盒logo网站设计论文
  • 网站右侧二维码代码天津企业网站设计哪家好
  • 门户网站属于数字媒体吗简单网页图片
  • 网站建设教程下载广州市城市建设档案馆网站
  • 中山哪里有做网站互联网公司和软件公司
  • 网站流量分析工具网站网站的建设
  • aspx网站开发室内设计去哪里学
  • seo站长论坛外贸推广平台哪家好
  • .net 网站模板下载地址电器网站建设规划书
  • 换服务器后网站首页不收录南城网站建设公司策划
  • 如何新做的网站让百度快速收录wordpress 鼠标悬停图片 焦点
  • cloud域名注册网站塑料机械网站建设
  • 网站内容被删除怎么取消收录软件企业网站建设栏目结构图
  • 呼和浩特市城乡建设保障局网站淘宝客网站建站源码
  • 星级酒店网站建设公司电子政务门户网站建设的意义
  • 常州网站建设市场如何注册一个设计网站
  • 买卖域名的网站好网站建设网站排名优化
  • 电影网站vps服务器网站建设糹金手指花总