js编程-构造函数执行

57 阅读1分钟

new 函数(): 构造函数执行,它们和普通函数执行的相同点和不同点:

相同点

  • 同样会创建私有上下文
  • 存在私有变量
  • 初始化作用域链
  • 初始化this
  • 初始化arguments
  • 形参赋值
  • 变量提升

不同点

  • new 执行,浏览器会在当前上下文中,默认创建一个对象(实例对象)
  • 在初始化this的时候,会让这个this指向这个实例对象
  • 代码中编写this.xxxx = xxx的时候,就是给这个对象添加私有属性
  • 函数如果没有返回值,或者返回的是基本类型值,则默认返回创建的实例对象;如果是自己返回的引用类型值,以自己返回的为主。