当前位置:   article > 正文

JavaScript高级:构造函数

JavaScript高级:构造函数

1 引言

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

2 约定

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

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

  1. <script>
  2. // 1. 创建一个构造函数
  3. function Star(uname, age) {
  4. this.uname = uname;
  5. this.age = age;
  6. }
  7. // 2. 创建第一个实例对象
  8. const ldh = new Star('刘德华', 18)
  9. console.log(ldh)
  10. // 创建第二个实例对象
  11. const zxy = new Star('张学友', 19)
  12. console.log(zxy)
  13. // ......
  14. </script>

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



3 new 实例化的执行过程

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

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

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

           <4>. 返回新的对象

 4 实例成员和静态成员

4.1 实例成员

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

  1. // 实例成员
  2. function Person(name) {
  3. this.name = name
  4. }
  5. const p = new Person('张三')
  6. p.name = '李四' // name 就是实例属性
  7. p.sing = () => { // sing 就是实例方法
  8. console.log('唱歌')
  9. }
  10. console.log(p)

4.2 静态成员

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

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

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

  1. // 静态属性
  2. Student.height = 180 // height 就是静态属性
  3. Student.run = () => { // run 就是静态方法
  4. console.log('跑步')
  5. }
  6. console.log(Student.height)
  7. Student.run()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/48751
推荐阅读
相关标签
  

闽ICP备14008679号