一.new的执行过程有哪几步
function Person(name,age){
this.name = name;
this.age = age;
}
var p = new Person("jack",23); //实例化
console.log(p.name) //jack
内部操作:
1.创建一个新对象
var obj = new Object();
2.把obj的proto指向构造函数的prototype对象,实现继承
obj._proto_ = Fn.prototype
3.将步骤一新创建的对象obj作为this的上下文
var result = Fn.call(obj)
4.返回创建的对象obj(如果该函数没有返回对象,则返回this)
if(typeof result === 'object'){
return result
}else{
return obj
}