码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-04-16 18:20:46      阅读:143      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!