new操作符
new操作符主要用于产生一个对象实例,当我们new一个对象的时候,new操作其实做了以下几个工作:
- 创建一个新对象
- 将新对象的_proto_指向构造函数的prototype对象
- 将构造函数的作用域赋值给新对象 (也就是this指向新对象)
- 执行构造函数中的代码(为这个新对象添加属性)
- 返回新的对象
代码如下:
var Person = function(name, age){
this.name = name;
this.age = age;
this.sayHello = function(){
console.log("hello, I am " + name);
}
};
var p1 = new Person('张三', 18);
图示: