new统称为实例化。
4步:
1新创建一个对象obj
2把obj的proto指向构造函数的prototype对象,实现继承。
3将步骤1新创建的对象obj作为this的上下文
4返回创建的对象obj(如果该函数没有返回对象,则返回this)
js中New的执行过程有哪几步
实例化对象
共4步骤:
创建一个新的对象obj:var obj = new Object()
把obj的proto指向构造函数的prototype对象 实现继承:obj.__proto__ = Fn.prototype
将步骤1新创建的对象obj作为this的上下文:var result = Fn.call(obj)
返回创建的对象obj(如果该函数没有返回对象,则返回this)
if( typeof result === 'object' ){
return result //func = result
}else{
return obj //func = obj
}
new执行过程
new 的执行过程
new 的执行过程
new 的执行过程
1 创建一个新对象
2 把obj的proto指向构造函数的prototype对象 实现继承
3 将新创建的对象obj作为this的上下文
4 返回创建的对象obj(如果该函数没有返回对象,则返回this)