构造函数

85 阅读1分钟
  • 构造函数需要用到关键字new(new后面一般跟一个函数  new会创建对象,而且创建的这个函数会去调用这个函数)

  • new的详细分析过程

  1. 第一步,new会创建一个新对象{}
  2. 第二步,运行构造函数,让内部的this指向创建的对象(用创建的空对象去调用构造函数)
  3. (1)若返回值return是引用数据那么构造函数返回值就是这个返回值;若返回值不是引用数据,那么这个构造函数返回值就是这个运行完毕之后创建的对象
 function fn(a) {
    this.a = a
    this.b = 20
    return 200//返回值不是引用数据,所以是创建的新对象
  }
  var re = new fn(12)
  console.log(re)

image.png

 function fn(a) {
    this.a = a
    this.b = 20
    return [22,77,55]//返回值是引用数据,所以构造函数的返回值就是这个对象
  }
  var re = new fn(12)
  console.log(re)

image.png

  • 注意:任何对象都是函数创建出来的,任何对象都有构造函数