• jQuery().end()的内部实现及源码分析


    jQuery().end()的作用是返回当前jQuery对象的上一个状态。

    1、end()源码:

      // 所有通过pushStack方法获得的jQuery对象都可以通过end方法返回之前的状态
        // 如果有preObject对象这返回该对象,否则调用构造函数返回jQuery的空对象
         end: function() {
             return this.prevObject || this.constructor(null);
         },

      end()的源码很简单,但是需要了解prevObject是如何形成的,所以需要了解pushStack方法都做了什么。

    2、pushStack()源码:

      pushStack: function( elems ) {

        // 生成一个jQuery对象

        // merge()是绑定在jQuery构造函数上的一个方法,外部无法调用。其作用是将第二个参数合并到第一个参数中。

        // 该句讲elems合并到一个空的jQuery对象中,形成一个有内容的jQuery对象。
        var ret = jQuery.merge( this.constructor(), elems );

        // merge产生的jQuery对象设置一个prevObject属性,并将当前(merge之前的)的对象赋值给prevObject
        ret.prevObject = this;
        ret.context = this.context;

        
        return ret;
        },

  • 相关阅读:
    房地产周期
    Vue ElementUi Excel文件和表单内容同时提交
    git从分支拉取代码到本地,并修改后提取代码到该分支
    ps学习笔记
    面试小结
    比较好的样式
    前端开发规范
    修改ElementUI源码总结
    前端学习手册
    书单
  • 原文地址:https://www.cnblogs.com/charling/p/3448912.html
Copyright © 2020-2023  润新知