构造函数
什么是构造函数
- 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)