记得之前“亚瑟王的AK”和我讲过关于 Constructor 的使用相关的问题,由于都不太深入的了解,一直没有搞清楚这个问题。今天做了一个实验。加强一下自己的印象。
看到这个应该就很清楚了。
创建一个函数,就会同时创建它的原型,同时也会拥有 constructor 属性,因为本质上完全重写了默认的 prototype 对象,所以 constructor 属性页变成了新对象的 constructor 属性并且指向Object构造函数。所以尽管 instanceof 能够返回正确的结果,但是Constructor已经无法正确的指向了。
终于明白了,为什么有写 prototype 属性里面都要重新定义一次对象的指向。看N多的Jquery插件源码也这么做。原来是这么回事。