论坛首页 Web前端技术论坛

读jQuery源码之整体框架分析

浏览 24260 次
精华帖 (0) :: 良好帖 (9) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-09-05  
网上,许多人都说
jQuery.fn.init.prototype = jQuery.fn;  
这句话经典,

其实,我认为
var jQuery = function( selector, context ) {
    return new jQuery.fn.init( selector, context, rootjQuery );
}

这句话更经典。前一句仅是对javascript prototype的应用,而后一句,把过程式语言与面象对象语言的特色用于至极致。
jQuery(""),用起来方便,而返回一个jQuery.fn.init对象,则便于链式调用。
0 请登录后投票
   发表时间:2012-09-05  
顶LZ 写的非常好
0 请登录后投票
   发表时间:2012-09-06  
顶!希望楼主多写一点!!

我在Github上建立了一个分析jQuery源代码的工程:https://github.com/diguage/D-jQuery
希望感兴趣的一起参与!
0 请登录后投票
   发表时间:2012-09-06  
楼主这篇文章是所有分析Jquery源代码中写得最好的!
0 请登录后投票
   发表时间:2012-12-31  
xmpp 写道
网上,许多人都说
jQuery.fn.init.prototype = jQuery.fn;  
这句话经典,

其实,我认为
var jQuery = function( selector, context ) {
    return new jQuery.fn.init( selector, context, rootjQuery );
}

这句话更经典。前一句仅是对javascript prototype的应用,而后一句,把过程式语言与面象对象语言的特色用于至极致。
jQuery(""),用起来方便,而返回一个jQuery.fn.init对象,则便于链式调用。


我认为这种封装是个败笔,太绕了,增加了阅读的难度,况且,init方法写在prototype里面有何意义?你们有见过$("#xxx").init()调用吗?我认为init方法应该从prototype独立出来。我觉得jquery作者是想jquery的方法都统一放到prototype,使用者看起来更自然,但是对代码维护者和阅读人员是有点小折磨。
0 请登录后投票
   发表时间:2013-04-19  
思路很清晰!!
0 请登录后投票
   发表时间:2013-05-29  
楼主分析的不错,但还是有点绕不过弯来。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics