JavaScript高级:构造函数

1 引言

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

2 约定

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

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

    <script>
        // 1. 创建一个构造函数
        function Star(uname, age) {
            this.uname = uname;
            this.age = age;
        }
        // 2. 创建第一个实例对象
        const ldh = new Star('刘德华', 18)
        console.log(ldh)

        // 创建第二个实例对象
        const zxy = new Star('张学友', 19)
        console.log(zxy)

        // ......
    </script>

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



3 new 实例化的执行过程

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

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

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

           <4>. 返回新的对象

 4 实例成员和静态成员

4.1 实例成员

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

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

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

4.2 静态成员

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

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

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

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

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

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是小蟹呀^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值