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;
        },

  • 相关阅读:
    js 根据屏幕大小调用不同的css文件
    centos U盘安装查看名称
    gmail只能收,不能发解决
    pytty秘钥登陆
    GCP 免密钥登陆
    iredmail安装资料整理
    centos修改本地hostname(主机名)
    chmod 774
    centos 环境部署
    epel更新源
  • 原文地址:https://www.cnblogs.com/charling/p/3448912.html
Copyright © 2011-2022 走看看