我对您最后一小节的理解是:fn就是为了让init在当做构造函数使用的时候,能够访问到prototype的上下文。因为fn是一个对象,而init是这个对象中的一个方法,所以init这个方法可以访问到所在对象中的上下文。
是这样吗?
谢谢!
init可以看成定义的一个类,prototype是类的静态方法,new出来的对象就有init.prototype的属性,又因为init.prototype = fn.prototype 所以Init出来的对象自然有了fn.prototype的属性,就可以把属性同时赋给具体对象和类