• 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
  • 相关阅读:
    提升 Windows 生产力的实用工具集:Microsoft PowerToys | 开源日报 No.42
    【线上问题】服务器关机导致docker启动的mysql数据库消失了
    AI 时代的企业级安全合规策略
    猿创征文|Java后端开发,从小白到入门的成长经历
    android app启动卡在启动页面,无法启动。鸿蒙系统armony H4.0
    OptBinning 特征分箱包使用介绍
    数据结构之快速排序(重点)
    iPayLinks艾贝盈上线澳大利亚、印尼本地收款账户,助力企业紧抓RCEP机遇
    认识ARP协议
    第三届国际品质节,群硕企业与OI产品共同获奖
  • 原文地址:https://blog.csdn.net/zhaoqingquanajax/article/details/128139548