zoukankan      html  css  js  c++  java
  • class

    class

    • 实际上是一个function,但不存在函数提升

      • 同样可以通过两种方式定义

        class User{

        }
        //或者
        var User = class {
           
        }
    • 在其中通过构造函数声明属性,可以通过计算属性声明

      constructor(name, email) {
         this.name = name;
         this.email = email;
      }
    • 创建类对象

      var student1 = new User('ashen', 'ashen@ashen.com');
    • 在其中声明方法

      website(){
         console.log(`http://${this.email}`)
      }
      //所有通过此类创建的对象都可以调用
    • 声明静态方法

      • 只能被类调用,不能被实例对象调用的方法

        static describtion(){
           console.log('I am a user of QQ')
        }
    • set和get

      set address(value){
         this.info = value
      }
      get address(){
         return this.info;
      }
      • 通过类.属性 = ...的方式为其设置值

      • 通过类.属性的方式获取值

        User.address = '忠科绿苑'
        "忠科绿苑"
        User.address
        "忠科绿苑"

    class 的继承

    • 通过extends关键字进行继承

    • constructor中传入基类的属性,并在其中通过super声明

      class Dog extends Animal {
         constructor(name, age) {
             super(name);
             this.age = age;
        }
      }
    • 继承了基类中所有属性和方法,可以在实例对象中直接调用基类方法

    • 若子类中有和基类的同名函数,子类中的函数会将基类中的覆盖

    扩展内建对象数组

    • 此时super中的this会指向Array,因此newArr可以访问Array的所有属性和方法

    class newArr extends Array {
       constructor(name) {
           super();
           this.name = name;
      }

    }
    • 添加属性

      • 在构造函数中声明

      • 添加到super中

        constructor(name, ...items) {
           super(...items);
           this.name = name;
        }
    • 添加方法,直接在子类中定义

  • 相关阅读:
    迅雷极速版 2020年 防止升级方法
    微PE WEPEMENU.INI CDLINUX BEINI 启动菜单
    tcping 0.39
    海康威视楼宇可视对讲解码器拨码规则计算器-安卓版
    博客园-文字互动插件
    WSL-Ubuntu 安装Xubuntu-Desktop 记录
    html css的冷门相关基础知识整理
    git hub 的冲突解决方案
    css实现垂直居中的方式
    js中BOM相关知识
  • 原文地址:https://www.cnblogs.com/ashen1999/p/12559846.html
Copyright © 2011-2022 走看看