function Person(name, age) {
this.name = name;
this.age = age;
}
var person = new Person("Alice", 23);
创建一个空对象
let obj = new Object();
让Person中的this指向obj,并执行Person的函数体
let result = Person.call(obj);
设置原型链,将obj的proto成员指向了Person函数对象的prototype成员对象
obj.__proto__ = Person.prototype;
判断Person的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
if (typeof(result) == "object")
{
person = result;
}
else{
person = obj;
}