JS高级之类的概念以及创建类

505 阅读2分钟

在ES6中新增了类的概念,可以使用class关键字声明一个类,之后用这个类来实例化对象,类抽象了对象的公共部分,它泛指某一大类,对象特质某一个,通过类实例化一个具体的对象 举个例子:比如某一天我要吃零食,那么这个"零食"就是一个大类,因为其囊括了包括可乐,薯片..之类的零食,但是你要是说我想吃某一个品牌的薯片,那么这个薯片就是一个具体的对象(以上是现实中的例子) 在JS中,对象是由属性和方法组成的: 属性:事物的特征,在对象中用属性来表示(常用名词) 方法:事物的行为,在对象中用方法来表示(常用动词)

 在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等。
 讲了以下类和对象的概念,那么如何创建类呢?
 
在这里我们先引入一个类构造函数————constructor构造函数,

constructor()方法是类的构造函数,用于传递参数,返回实例对象,通过new命令生成对象实例的时候,自动调用该方法,如果没有显示定义,类内部就会自动给我们创建一个constructor() 简单看一个代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //1.创建类class创建一个明星类
        class Star{
            constructor(uname,age){
                this.uname=uname;
                this.age=age;
            }
        }
        //2.利用类创建对象 new
        var ldh=new Star('刘德华');
        var zxy=new Star('张学友',20);
        console.log(ldh.uname);
        console.log(zxy);
    </script>
</body>
</html>

结果:

image.png

执行流程:

首先创建一个类class,然后里面有个constructor(),constructor会接收传递过来的参数,同时把实例返回给ldh,调用类的时候,一定要用new,当一调用就会启动constructor,如果不写这个函数,类也会自动生成这个函数


注意:
1.生成实例的时候new不能省略
2.创建类的时候,类名后面不要加小括号,但是生成实例的时候,类名后面要加小括号,构造函数不需要加function