当前位置: 首页 > news >正文

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

相关文章:

  • 应用生命周期终极 DevOps 工具包
  • ASP.NET项目与IE10、IE11不兼容的解决办法
  • Selenium webdriver 操作日历控件
  • Qt一步一步实现插件调用(附源码)
  • 如何提高Linux下块设备IO的整体性能?
  • 演示:取证分析IPV6组播地址与MAC地址的映射关系
  • 类的运用(一)
  • ODI中通过配置表和自定义逆向工程获取数据库信息
  • vim的Tab键
  • js prototype之诡异
  • 仿博彩业的转盘功能演示
  • 混合敏捷研发(一)SpecDD:混合的敏捷方法
  • 如何在Android模拟器上安装apk文件
  • 【转】iOS 宏(define)与常量(const)的正确使用-- 不错
  • 程序自动生成Dump文件
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 07.Android之多媒体问题
  • Cumulo 的 ClojureScript 模块已经成型
  • C语言笔记(第一章:C语言编程)
  • Facebook AccountKit 接入的坑点
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • python_bomb----数据类型总结
  • 阿里云前端周刊 - 第 26 期
  • 使用 Docker 部署 Spring Boot项目
  • 推荐一个React的管理后台框架
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (一) springboot详细介绍
  • (转)【Hibernate总结系列】使用举例
  • (转)jdk与jre的区别
  • (转)LINQ之路
  • **python多态
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net CF下精确的计时器
  • .NET Core 成都线下面基会拉开序幕
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net MVC + EF搭建学生管理系统
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net中应用SQL缓存(实例使用)
  • .php文件都打不开,打不开php文件怎么办
  • [ solr入门 ] - 利用solrJ进行检索
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • []C/C++读取串口接收到的数据程序
  • []T 还是 []*T, 这是一个问题
  • [《百万宝贝》观后]To be or not to be?
  • [2016.7 day.5] T2
  • [Apio2012]dispatching 左偏树
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [C++进阶篇]STL中vector的使用
  • [CTO札记]盛大文学公司名称对联
  • [C和指针].(美)Kenneth.A.Reek(ED2000.COM)pdf