构造函数
定义:定义构造函数时,函数名首字母一般要大写
构造函数中的new
- 1、形成一个私有作用域,代码执行之前,变量提升之后,会默认创建一个空的对象
- 2、这个new改变了当前作用域下 this的指向,让其指向新创建的这个空对象
- 3、当代码执行完成后,默认返回这个对象
构造函数的特征
- 构造函数执行:形成私有作用域=>形参赋值=>变量提升=>创建一个空对象,并让当前作用域中的this指向这个空对象=>代码从上到下执行=>return这个对象=>作用域是否销毁
- 构造函数中的this永远指向当前实例
- 构造函数就是一个类(自定义类),所以说构造函数的名字一般都是大写
- 如果构造函数没有形参的话,我们在new实例的时候,可以把后面的小括号省略
- 构造函数自带一个return(引用数据类型),如果我们自己在构造函数中写了return,并且让他返回一个值类型的值,他不会覆盖原有的(默认的return),如果我们返回了一个引用数据类型的值。他就会覆盖原有的return
- 实例 instanceof XXX类=>检测当前实例是否属于某个类
例
function Create(name, age) {
var a = 10;//这个属于Create的私有变量
this.name = name;//给this形成的那个空对象添加键值对
this.age = age;
//这里面会默认有一个return,并且返回的是this所指向的那个空间地址
}
var create = new Create("张",21);