JavaScript(三)类和对象

JavaScript类

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

class ClassName{
    constructor(){}
}

创建一个Person类

//创建类
class Person{
    constructor(name,sex){
        //初始化属性name、sex
        this.name = name;
        this.sex = sex;
    }
}

类表达式

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

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;
    }
}

使用类

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

//定义类
class Person{
    constructor(name,sex){
        this.name = name;
        this.sex = sex;
    }
}
//创建对象
var p = new Person('zqq','男');

类的方法

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();

类继承

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();

静态方法

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

class Person{
    constructor(name){
        this.name = name;
    }
    //定义静态方法
    static say(){
        console.log('Hello World');
    }
}
//调用静态方法
Person.say();

JavaScript对象

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

创建对象

创建对象有两种方法

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

使用Object

var person = new Object();
person.name = 'zqq';
person.age = 18;
console.log(person.name);

使用函数

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值