构造函数是一种用法特殊的函数,主要用来快速创建多个类似的对象。
- 它们的命名以大写字母开头
- 通过 new 关键字来调用构造函数,可以创建对象
我们用普通方法创建两个对象,"张三"和"李四"
const zs={
name:'张三',
eyes:2,
ears:2,
sleep:function(){
console.log("我会睡觉");
}
}
const ls={
name:'李四',
eyes:2,
ears:2,
sleep:function(){
console.log("我会睡觉");
}
}
显然,他们有重合的属性,都有名字,两个眼睛,两个耳朵,而这也是普通人都具有的相同的属性。我们可以把这些公共的属性和方法抽取封装到构造函数里面来实现数据的共享。例如,声明一个Person构造函数,通过new 关键字创建Person对象。
function Person(name){
this.name=name
this.eyes=2
this.ears=2
this.sleep=function(){
console.log("我会睡觉");
}
}
const zs=new Person('张三')
const ls=new Person("李四")
new创建对象分成四步:
- 开辟内存空间, 创建一个对象
- 将 this 指向新创建的对象
- 执行构造函数内的代码
- 返回新创建的对象