构造函数

107 阅读1分钟

构造函数

什么是构造函数

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

构造函数的语法

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

构造函数的调用

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

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

  • 1.创建一个对象
  • 2.将对象的引用赋值给构造函数中的this
  • 3.调用构造函数为this添加成员
  • 4.将this的引用返回

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

function Student(name, age, gender){
 this.name = name
 this.age = age
 this.gender = gender
 this.say = function() {
   console.log('123' + this.name)
   }
   //不要手动返回值
   //返回基本类型的值被忽略
   //返回一个引用类型的值会替换之前所创建的对象
   // return{a:'a'}
  }
  
  let obj = new Student('小明',18,'男')
  //可以明确当前对象的类型
  obj.say()
  
  let obj2=new Student('小',8,'男')
  obj2.say()
  
  console.log(obj.say == obj2.say)