JS初始化对象

什么是初始化对象?

顾名思义,我们创建对象时便已调用默认编写的init方法,实现初始化。
我们要求调用say方法时,能输出init里的属性。
JS初始化对象

实现

一、

先调用init方法
JS初始化对象
输出: wc 1
这种方法每次需要手动输入,不满足需求。

二、

return init方法
JS初始化对象
JS初始化对象
报错,原因是没找到。
因d对象的__proto__指向其构造函数的init.prototype,所以找不到。
(*可参考我的关于JS原型链的文章)
JS初始化对象
解决:
将init.prototype指向Dog.prototype.
JS初始化对象
JS初始化对象
JS初始化对象
找到了!