• ES6 类


    class Task {
      constructor() {
        console.log("task instantiated!");
      }
    
      showId() {
        console.log(23);
      }
    
      static loadAll() {
        console.log("Loading all tasks..");
      }
    }
    
    console.log(typeof Task); // function
    let task = new Task(); // "task instantiated!"
    task.showId(); // 23
    Task.loadAll(); // "Loading all tasks.."
    class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                var pig=new Animal();
                pig.bark();
                Animal.eat();

    类中的继承和超集:

    class Car {
      constructor() {
        console.log("Creating a new car");
      }
    }
    
    class Porsche extends Car {
      constructor() {
        super();
        console.log("Creating Porsche");
      }
    }
    
    let c = new Porsche();
    // Creating a new car
    // Creating Porsche

    extends 允许一个子类继承父类,需要注意的是,子类的 constructor 函数中需要执行 super() 函数。

    当然,你也可以在子类方法中调用父类的方法,如 super.parentMethodName()。

    有几点值得注意的是:

    类的声明不会提升(hoisting),如果你要使用某个 Class,那你必须在使用之前定义它,否则会抛出一个 ReferenceError 的错误
    在类中定义函数不需要使用 function 关键词

    示例:

    <script type="text/javascript">
                class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                class Dog extends Animal{
                    constructor(){ 
                        super();   //调用父类的构造方法
                        console.log("正在构造一只狗");
                    }
                    bark(){   //重写
                        console.log("汪汪汪...");
                    }
                }
                
                var dog=new Dog();
                dog.bark();
                Dog.eat();

  • 相关阅读:
    crawlspider的源码学习
    df 参数说明
    Linux top 命令各参数详解
    Redis info参数总结
    python 读写 Excel文件
    python之Selenium库的使用
    heapq模块
    Python数据库连接池DButils
    【leetcode】701. Insert into a Binary Search Tree
    【leetcode】940. Distinct Subsequences II
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10677464.html
Copyright © 2020-2023  润新知