• JavaScript(三)类和对象


    JavaScript类

    类是创建对象的模版,使用class来创建一个类,类中包含一个特殊方法constructor(),它是类的构造方法,用于创建和初始化一个由class创建的对象,如果不添加JavaScript会自动添加一个空的构造方法。
    创建类的语法格式

    class ClassName{
        constructor(){}
    }
    
    • 1
    • 2
    • 3

    创建一个Person类

    //创建类
    class Person{
        constructor(name,sex){
            //初始化属性name、sex
            this.name = name;
            this.sex = sex;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    类表达式

    类表达式是定义类的另一种方法。

    var Person = class{
        constructor(name,sex){
            this.name = name;
            this.sex = sex;
        }
    }
    var User = class User{
        constructor(name,sex){
            this.name = name;
            this.sex = sex;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    使用类

    可以使用关键字new来根据定义的类创建对象。创建对象会自动调用类的构造函数constructor()

    //定义类
    class Person{
        constructor(name,sex){
            this.name = name;
            this.sex = sex;
        }
    }
    //创建对象
    var p = new Person('zqq','男');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    类的方法

    JavaScript类可以有一个constructor()方法和任意数量的其他方法

    class Person{
        constructor(name,sex){
            this.name = name;
            this.sex = sex;
        }
        run(){
            console.log(name + ' is running====');
        }
    }
    var p = new Person('zqq','男');
    p.run();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    类继承

    JavaScript使用extends关键字来继承类

    //父类
    class Animal{
        constructor(name){
            this.name = name;
        }
        eat(){
            console.log('eat food====');   
        }
    }
    
    class Dog extends Animal{
        constructor(name,color){
            super(name);
            this.color = color;
        }
    }
    var dog = new Dog('狗狗','黑色');
    console.log(dog.name);
    dog.eat();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    静态方法

    JavaScript静态方法是使用static关键字修饰的方法,又叫类方法,属于类,不属于对象,可以使用类名.方法名调用。

    class Person{
        constructor(name){
            this.name = name;
        }
        //定义静态方法
        static say(){
            console.log('Hello World');
        }
    }
    //调用静态方法
    Person.say();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    JavaScript对象

    JavaScript中所有事物都是对象:字符串、数值、数组等。并且JavaScript允许自定义对象。对象是一种拥有属性方法的特殊数据。

    创建对象

    创建对象有两种方法

    1. 使用Object定义并创建对象实例
    2. 使用函数来定义对象,然后创建新的对象实例

    使用Object

    var person = new Object();
    person.name = 'zqq';
    person.age = 18;
    console.log(person.name);
    
    • 1
    • 2
    • 3
    • 4

    使用函数

    function person(name,age){
        this.name = name;
        this.age = age;
        this.say = function(){
            console.log('Hello World');
        }
    }
    var p = new person('zqq',18);
    console.log(p.name);
    p.say();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    集合java
    JavaScript学习(四)——轮播图的实现
    【webrtc 】FEC 1: 音频RED rfc2198及视频ULPFEC的RED封装
    【业务功能篇93】微服务-springcloud-多线程-异步处理-异步编排-CompletableFutrue-实战运用
    2022.11.28总结
    监控工具Prometheus及项目总结,220805,,
    数学问题:导函数的左右极限与函数的左右导数是一回事吗?
    scanpy 空转数据结构seurattoscanpy spatial
    WSO2 ESB 5.0.0 一些组件的使用教程
    UML与PlantUML简介
  • 原文地址:https://blog.csdn.net/zhaoqingquanajax/article/details/128139548