zoukankan      html  css  js  c++  java
  • 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;
        },

  • 相关阅读:
    ZCMU 暑期练习赛【识别】
    P1024 一元三次方程求解
    P1059 明明的随机数
    P2670 扫雷游戏
    ESP32手动搭建Arduino环境
    基于arduino的气象站
    序列归并
    结构体数组排序:1004 成绩排名 【pta】
    C语言:大数求和
    centos7 安装mongodb replica set 集群搭建
  • 原文地址:https://www.cnblogs.com/charling/p/3448912.html
Copyright © 2011-2022 走看看