当以new操作符调用构造函数时,函数内部会发生以下情况:
1. 创建一个空对象并且this变量引用了该对象,同事还继承了该函数的原型
2. 属性和方法被加入到this引用的对象中
3. 新创建的对象由this所引用,并且最后隐式地返回this(如果没有显式地返回其他对象)
var Person = function(name) {
//var this = { } 创建一个新对象
this.name = name;
this.say = function() {
return "I am " + this.name;
}
//return this;
}
每次调用new Peson时,都会在内存中创建一个新的say函数