new关键字与构造函数一起使用以创建对象:
function Employee(name, position, yearHired) {
= name;
this.position = position;
this.yearHired = yearHired;
};
const emp = new Employee("Marko Polo", "Software Developer", 2017);new关键字做了4件事:
创建空对象
{}将空对象分配给
this 值将空对象的
__proto__指向构造函数的prototype如果没有使用显式
return语句,则返回this
看下面事例:
function Person() {
= '前端小智'
}根据上面描述的,new Person()做了:
创建一个空对象:
var obj = {}将空对象分配给
this 值:this = obj将空对象的
__proto__指向构造函数的prototype:this.__proto__ = Person().prototype返回
this:return this
















