javascript 创建并实例化一个类,添加共有方法

276 阅读2分钟

ES6 中的类和对象

1.创建一个类

(1)基本语法

class name {
	
}

(2)创建一个实例()

const xx = new phone()

(3)constructor (构造函数)

类里面有个非常重要的函数 constructor() ,这是类的构造函数,用于传递参数,返回实例对象,通过 new 生成对象实例时将会自动调用该方法。如果没有显示定义,类的内部也会自动给我们创建一个 constructor() 。

(4)例如创建一个明星类:

	//1. 创建类 class 创建一个明显类
    class Star{
        constructor(uname) {
            this.uname = uname
        }
    }
    //2. 利用类创建对象
    let zxy = new Star('张学友')
    console.log('明星名字:' + zxy.uname)

执行过程:创建了一个名为 Star 的类,创建了一个构造函数这个构造函数可以接受一个参数,并把参数赋值给this.name,当我们执行 new Star('张学友') 时,会自动触发 constructor 函数,将张学友传给 constructor('张学友'),this.uname = '张学友' ,然后构造函数回返回一个实例返回给 zxy 变量。

(5)因为创建了一个明星类,所以我们也可以用同样的方法,创建多个明星

    //1. 创建类 class 创建一个明显类
    class Star{
        constructor(uname, age, sex) {
            this.uname = uname,
            this.age = age,
            this.sex = sex
        }
        //不需要写 function 关键字声明。
        //在类里面所有的函数不需要加逗号分隔。
        //函数可以使用 this 直接调用类中的属性
        sing(song){
            console.log(this.uname + song)
        }
    }
    //2. 利用类创建对象
    let zxy = new Star('张学友', 45, '男')
    let ldh = new Star('刘德华', 42, '男')
    //3.调用类中的函数
    zxy.sing('李香兰')
    ldh.sing('冰雨')
    

创建类的几个注意点

  • 必须通过 class 关键字声明创建类,类名推荐写法使用首字母大写。
  • 类中有个 constructor() 函数,这个函数可以接受传递过来的参数,同时返回实例。
  • constructor() 函数,只要 new 生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动的生成这个函数。
  • 生成实例 new 关键字不能省略
  • 注意语法规范,创建类 类名的后面不要加小括号,生成实例 类后面要加小括号,在类里面不需要写 function 声明也可以。