09 2020 档案
摘要:super与实例没有什么关系,它本身有两个作用的,参考如下理解: 1.super可以当函数用。super作为函数调用时,表示父类的构造函数。示例: class Par { constructor() { this.num = 21; } } class Chil extends Par { cons
阅读全文
摘要:ES5中的继承 1.JAVASCRIPT中的继承,不是真正意义上的面向对象继承,而是JS中特有的,和面向对象继承有点区别的,就是js的原型 2.利用构造函数 缺陷:不能继承原型的方法 解决:字类的prototype等于基类的实例(还是有一些缺点的) //利用构造函数,但是无法继承父类原型上的方法 f
阅读全文
摘要:简单的多态 多态: 1.同一个接口,在不同情况下做不一样的事情;相同的接口,不同的表现; 2.接口本身只是一组定义,实现都是子类里面;需要子类去实现的方法(子类只需重写与父类同名的方法,即可达到覆盖的效果),若子类有跟父类同名的方法,则会直接走子类的方法,不会走父类的; 3.非静态方法中,仍然子类可
阅读全文
摘要:extends 子类的继承 super(); 调用父类的构造方法,只能在子类中执行 继承可以让子类获得父类的方法 属性,可以扩充 增加新的方法 属性等 父类(基类)——被继承的类 子类——继承后的类 1.extends(关键字) 子类的继承 extends +要继承的类名 2.super(参数);
阅读全文
摘要:1、Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。 var _this = Object.create(fn.prototype);这句代码的意思是fn的prototype属性内容作为新对象的原型内容。 2、apply方法会改变this的指向
阅读全文
摘要:name属性与new.target属性 name属性: 1、类.name,输出的是类的名字。 2、如果是在类表达式中,类有名字,那么输出结果是类的名字;类没有名字的话,那么输出结果会是表达式中变量或者常量的名称。 //name属性返回一个类的名字,在业务场景中基本上用不到的 class Person
阅读全文
摘要:当我们说new一个对象的时候,实际做了些什么, 可以参考下图理解
阅读全文
摘要:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>getter与setter——音乐播放器例子 </title> <style type="text/css"> div{ font-size: 299x; } </style> <
阅读全文
摘要:1、这种可以不用实例化对象就能输出。 class Car{ constructor(){ } } Car.tool=4 console.log(Car.tool);//4 2、必须实例化后才能输出。但他们都是挂在类上的静态属性。 class Car{ constructor(){ Car.speed
阅读全文
摘要://类表达式 const Person1 = class{ constructor(){ console.log('aa') } } //也可以跟上类名P,但是变量P在class外部是访问不到的,在class内部是可以访问到的 const Person = class P{ constructor(
阅读全文
摘要:静态方法只能写在class内,constructor外。通过static关键字声明 静态属性只能写在class外,通过 类名.属性名 = 属性值 声明 //静态属性与静态方法(ES6明确规定,Class内部只有静态方法,没有静态属性 ) //1.不会被类实例所拥有的属性与方法,只是类自身拥有 //2
阅读全文
摘要:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>模拟一个音乐播放器</title> </head> <body> <div id="app"></div> <script> class AudioPlayer{ //从无到有生成
阅读全文
摘要:ES6提供了更接近传统语言的写法,引入了class(类)这个概念,通过class关键字,可以定义类。 //es6中声明一个类的方法,使用class关键字 class Car{ //构造函数的固定写法,类似于函数的简洁表示法const obj ={ a(){} } constructor(...arg
阅读全文
摘要:页面中有个板块,需要多张图片加载完之后才能进行显示 //页面中有个板块 需要多张图片加载完之后才能进行显示 const loadImg = (src) => { return new Promise( (resolve,reject) =>{ const img = new Image(); img
阅读全文
摘要://Promise.resolve()和Promise.reject()常用来生成已经被决议为失败或者成功的promise案例 //Promise.reject()简单一些,不管传给它什么值,它决议为失败后就会直接把这个值传递过来 一、Promise.resolve1.传递一个普通的值(比如字符串,
阅读全文