new对象:
function Person(name, age) {
this.name = name;
this.age = age;
}
var person = new Person("Alice", 23);
new一个对象的四个过程:
1、创建一个空对象
var obj = new Object();
2、设置原型链,将obj的__proto__
成员指向了构造函数Person的prototype
obj.__proto__ = Person.prototype;
3、让构造函数Person中的this指向obj
var result = Person.call(obj);
4、判断Person的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
if (typeof(result) == "object")
person = result;
else
person = obj
参考:
js中new一个新对象发生的过程