美文网首页
JS相关知识学习笔记(一)

JS相关知识学习笔记(一)

作者: 喑宝儿 | 来源:发表于2021-05-18 09:44 被阅读0次
1、类
  • 定义类要使用class关键字,类名的首字母要大写
  • 每个类中都有一个名为constructor的构造函数,在生成类的实例时此函数会自动执行,同时结果会返回给实例对象
  • 类中创建的函数都不用加function
2、在类中添加方法
  • 创建类的实例对象,使用new关键字
  • 类的共有属性放到constructor构造函数里面
  • 类中的多个方法之间不可以添加逗号
3、类的继承
  • 使用extends关键字和super方法
  • 可以使用super方法调用父类的构造函数(调用父类构造函数时,参数不用加this,且super要在子类this之前使用),也可以调用父类的普通函数
// 调用super继承父类的构造函数
class Son extends Father {
    constructor(x, y) {
        super(x, y)
        this.x = x
        this.y = y
    }
}

// 调用super继承父类的普通函数
class Son extends Father {
    say() {
         console.log(super.say() + 'son');
    }
}
  • 子类继承父类的方法的同时,还可以继续扩展其他方法

    • 比如:父类有一个加法函数,子类在继承加法函数之后,可以自己再扩展一个减法函数
    class Son extends Father {
        constructor(x, y) {
            super(x, y);
            this.x = x;
            this.y = y;
          }
        subtract() {
            console.log(this.x - this.y);
          }
    }
    
4、使用类的注意事项

(1)this的指向

  • 类中constructor函数的this指向的是 创建的实例对象
  • 类中的普通函数一般是谁调用,其中this就指向谁

(2)注意事项

  • 在ES6中类没有变量提升,所以必须先定义类,才能通过类实例化对象
  • 类中的共有属性和方法一定要加this进行使用

相关文章

  • Javascript原型理解(面试篇)

    本文是学习JS原型相关知识后的总结与笔记:学习文章参考《一文吃透所有JS原型相关知识点》 在面试中会被经常问到JS...

  • JS相关知识学习笔记(一)

    1、类 定义类要使用class关键字,类名的首字母要大写 每个类中都有一个名为constructor的构造函数,在...

  • JS相关知识学习笔记(三)

    1、函数的定义 (1)命名函数 (2)函数表达式(匿名函数) (3)new Function('参数1', '参数...

  • JS相关知识学习笔记(二)

    1、创建对象的三种方式 (1)字面量的形式创建对象 (2)使用new关键字创建对象 (3)使用构造函数的方式创建对...

  • JaveScript知识汇总

    收藏了很多JS学习资源,也记录了很多笔记。但是每次想系统地回顾一下JS相关知识,还是觉得无从下手。所以做一个总纲,...

  • DAY1-为什么要选择做前端?

    日期:2020.3.20学习总用时:2h学习目标:了解web的相关知识 学习笔记:1.学会用浏览器学习相关知识,对...

  • JavaScript的数据类型

    最近在学习JS的数据类型的相关内容,在此就做一些相关的学习笔记。 一、概述 JS的数据类型总共有7种。 1.num...

  • 面向Android的快速学习JavaScript笔记(基础篇 中

    继上篇面向Android的快速学习JavaScript笔记(基础篇 上) 之后继续补全JS快速学习笔记,这篇的知识...

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • 百草园||知与行

    本周在学习情绪和压力管理相关的知识,听书、看书做笔记,看中国慕课的视频学习,买专家的课程学习。学习了大量的相关知识...

网友评论

      本文标题:JS相关知识学习笔记(一)

      本文链接:https://www.haomeiwen.com/subject/tzjejltx.html