首页 > Web开发 > 详细

JQuery源码解析-- 对象的创建

时间:2016-04-16 18:19:46      阅读:241      评论:0      收藏:0      [点我收藏+]

  使用 $("a") 返回的对象就不再是一个简单的DOM对象了,而是一个复杂的JQuery对象。

  那么JQuery是怎么创建对象的。

  为了便于分析,我将JQuery中复杂的代码简化了一番,便于分析。

(function(global,factory){
    factory(global);
})(this,function(window,noGlobal){
    var myJQuery=function(selector,context){
        return new myJQuery.fn.init(selector,context);
    };
    myJQuery.fn=myJQuery.prototype={
        constructor:myJQuery,//这里非常重要
        length: 0,
        each:function(){
            console.log("创建了一个JQuery对象"+this.targetName);
        }
    };
    var init=myJQuery.fn.init=function(selector,context,root){
        return this;
    };
    init.prototype = myJQuery.fn;//
    if(!noGlobal){
        window.myJQuery=window.F$=myJQuery;
    }
    return myJQuery;
});

   调用时,只需要 F$("div").each(); 即可模拟JQuery的对象穿件。

   整个JQuery库是一个立即执行函数。

   init.prototype = myJQuery.fn; 这句话十分重要。

  

JQuery源码解析-- 对象的创建

原文:http://www.cnblogs.com/xianrongbin/p/5398945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!