作家
登录

【深入浅出jQuery】源码浅析--整体架构

作者: 来源: 2017-07-17 16:03:33 阅读 我要评论

 
  •         // this.constructor 就是 jQuery 的构造函数 jQuery.fn.init,所以 this.constructor() 返回一个 jQuery 对象  
  •         // 因为 jQuery.merge 函数返回的对象是第二个函数附加到第一个膳绫擎,所以 ret 也是一个 jQuery 对象,这里可以解释为什么 pushStack 进出的 DOM 对象也可以用 CSS 办法进行操作  
  •         var ret = jQuery.merge(this.constructor(), elems);  
  •    
  •         // 给返回的新 jQuery 对象添加属性 prevObject  
  •         // 所以也就是为什么经由过程 prevObject 能取到上一个合集的引用了  
  •         ret.prevObject = this;  
  •         ret.context = this.context;  
  •    
  •         // Return the newly-formed element set  
  •         return ret;  
  •     },  
  •     // 回溯链式调用的上一个对象  
  •     end: function() {  
  •         // 回溯的关键是返回 prevObject 属性  
  •         // 而 prevObject 属性保存了上一步操作的 jQuery 对象集合  
  •         return this.prevObject || this.constructor(null);  
  •     },  
  •     // 取当前 jQuery 对象的第 i 个  
  •     eq: function(i) {  
  •         // jQuery 对象集合的长度  
  •         var len = this.length,  
  •             j = +i + (i < 0 ? len : 0);  
  •    
  •         // 应用 pushStack 返回  
  •         return this.pushStack(j >= 0 && j < len ? [this[j]] : []);  
  •     },    
  • }  
  • 总的来说,

    1)end() 办法返回 prevObject 属性,这个属性记录了上一步操作的 jQuery 对象合集;

    2)而 prevObject 属性由 pushStack() 办法生成,该办法将一个 DOM 元素集合参加到 jQuery 内部治理的一个栈中,经由过程改变 jQuery 对象的 prevObject 属性来跟踪链式调用中前一个办法返回的 DOM 结不雅集合


      推荐阅读

      深度学习训练时 GPU 温度过高?输入这几行命令就能迅速降温

    【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 新买回来的不带水冷公版GPU,在满负载运行的时刻,温度大年夜室温立时飙升到85度,并且模型练习不是几分钟>>>详细阅读


    本文标题:【深入浅出jQuery】源码浅析--整体架构

    地址:http://www.17bianji.com/lsqh/36245.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)