关于第一步为什么要使用 call() 的理解:
call()
调用“父”构造函数,创建一个“父原型”对象。原本构造函数如果不使用 new 的话会返回 undefined ,但这里使用 call() 将生成的“父原型对象”绑定到 this 变量上,因此在新的构造函数中 this 指向该对象。之后在新的构造函数中对该对象进行扩充。
new
undefined
this
新的构造函数使用 new XXX() 时,函数末尾自动返回 this ,此时 this 指向构造函数中创建并扩充过的对象。
new XXX()
不知道我理解得对不对
Sign in to make a reply
谢谢碎碎念
关于第一步为什么要使用
call()
的理解:调用“父”构造函数,创建一个“父原型”对象。原本构造函数如果不使用
new
的话会返回undefined
,但这里使用call()
将生成的“父原型对象”绑定到this
变量上,因此在新的构造函数中this
指向该对象。之后在新的构造函数中对该对象进行扩充。新的构造函数使用
new XXX()
时,函数末尾自动返回this
,此时this
指向构造函数中创建并扩充过的对象。不知道我理解得对不对