最近阅读zepto(版本v1.1.6)源码的过程中,有个地方没有想明白。首先看到第155行:
zepto.Z = function(dom, selector) { dom = dom || [] dom.__proto__ = $.fn dom.selector = selector || '' return dom }
其中dom.__proto__ = $.fn
是把dom array
指向$.fn
,使得这个dom array
能够使用$.fn
的所有方法,这个可以理解,没有问题。但是在第874行中,有一句这样的代码:
zepto.Z.prototype = $.fn
我的理解是,这一句话让zepto.Z
继承自$.fn
,但是上文的dom.__proto__ = $.fn
已经实现了让“这个dom array
能够使用$.fn
的所有方法”的功能了,为什么还要加这一句话呢?
后来我自己参照写了个demo,代码如下:
这里面并没有otpez.Z.prototype = $.fn
,能够正确输出Hello otpez!
所以希望能够得到大神的解答,zepto源码中的zepto.Z.prototype = $.fn
到底是用来干嘛的?
谢谢!
相关分类