JS高级<构造函数>

160 阅读1分钟

一.什么是构造函数

  1.它是一个函数
  2.它可以定义形参,接收实参
  3.它的作用主要是进行对象的初始化:初始化就是为对象添加成员
  4.在js中,定义一个构造函数,就相当于自己定义了一种类型

二.构造函数的语法

  1.定义起来和普通函数差不多
  2.它的首字母一般是大写

三.构造函数的调用

  1.要配合new关键字调用构造函数,没有new就相当于调用普通函数
  2.它会返回当前创建的对象

四.new到底做了什么事情--面试常问

  1.创建一个对象
  2.将对象的引用赋值给构造函数中的this(相当于在构造函数里面声明了一个this对象)
  3.调用构造函数为this添加属性和方法
  4.this的引用返回(return this)

  构造函数中的this指向调用这个构造函数时new所创建的对象
  

五.注意事项

不要手动返回值
  1.返回基本类型的值,被忽略
  2.返回一个引用类型的值会替换之前所创建的对象
    例子:`return { a: 'a' }`
    这个{a: 'a' }会覆盖this对象
function Person(name, age, gender) {
        //let this = {}
        this.name = name
        this.age = age
        this.gender = gender
        this.say = function() {
          console.log('我的名字叫' + this.name)
        }
        //return this
      }

      let obj = new Person('jack', 20, '男')
      obj.say()  //我的名字叫jack