一.什么是构造函数
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) {
this.name = name
this.age = age
this.gender = gender
this.say = function() {
console.log('我的名字叫' + this.name)
}
}
let obj = new Person('jack', 20, '男')
obj.say()