JavaScript高级:构造函数

1 引言

构造函数是一种特殊的函数,主要用来初始化对象;常规的 {...} 语法允许创建一个对象,但是通过构造函数可以快速创建多个类似的对象

2 约定

1. 命名以大写字母开头;

2. 它们只能由 “new” 操作符来执行

    

可以 new 多个对象,并且各个对象是不等的,也不会相互影响 


JavaScript高级:构造函数_第1张图片


3 new 实例化的执行过程

说明:<1>. 创建新的对象

           <2>. 构造函数this指向新的对象

           <3>. 执行构造函数代码,修改this, 添加新属性

           <4>. 返回新的对象

JavaScript高级:构造函数_第2张图片

 4 实例成员和静态成员

4.1 实例成员

通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例成员包括实例属性和实例方法

        // 实例成员
        function Person(name) {
            this.name = name
        }

        const p = new Person('张三')
        p.name = '李四'   // name 就是实例属性
        p.sing = () => {   // sing 就是实例方法
            console.log('唱歌')
        }
        console.log(p)

JavaScript高级:构造函数_第3张图片

4.2 静态成员

构造函数中的属性和方法被称为静态成员(静态属性和静态方法)

说明:<1>. 静态成员只能由构造函数来访问;

           <2>. 静态方法中的this指向构造函数

        // 静态属性
        Student.height = 180    // height 就是静态属性
        Student.run = () => {   // run 就是静态方法
            console.log('跑步')
        }

        console.log(Student.height)
        Student.run()

你可能感兴趣的:(JavaScript,javascript)