Open homobulla opened 6 years ago
使用new关键字调用函数的具体步骤:
new
var obj = {};
constructor
__proto__
prototype
obj.__proto__ = ClassA.prototype;
this
ClassA.call(obj); //{}.构造函数();
注意:若构造函数中返回this或返回值是基本类型(number、string、boolean、null、undefined)的值,则返回新实例对象;若返回值是引用类型的值,则实际返回值为这个引用类型。
number
string
boolean
null
undefined
可以看出,在new的过程中,主要实现了如下过程
使用
new
关键字调用函数的具体步骤:constructor
属性为构造函数的名称,设置新对象的__proto__
属性指向构造函数的prototype
对象;this
被指向新实例对象:注意:若构造函数中返回this或返回值是基本类型(
number
、string
、boolean
、null
、undefined
)的值,则返回新实例对象;若返回值是引用类型的值,则实际返回值为这个引用类型。可以看出,在new的过程中,主要实现了如下过程