jQuery2.1.1源码分析(一)---微型jQuery框架

错误很多,多多指教。

去掉繁杂的代码,下面就相当于一个微型的jQuery框架。

//一个js函数function,闭包传入window变量运行,(function(window){
    //定义jQuery赋值给3个变量,返回一个对象jQuery.fn.init的实例化
  var jQuery = window.jQuery = window.$ = function( selector, context ) {
    return new jQuery.fn.init( selector, context);
  };
  //定义jQuery下的fn,jQuery.prototype为一个对象
  jQuery.fn = jQuery.prototype = {
    //名为init的函数,功能是警告第一个参数selector
    init:function(selector, context){
      alert("当前选择的元素是:" + selector);
    },
    //add函数,警告文字,返回this,指向,方便链式调用,
    add : function() {
      alert("执行方法:add()");
      return this;
    }
  }
  //为链式调用,在每个init的函数内都拥有整个jQuery功能函数。
  jQuery.fn.init.prototype = jQuery.fn;

})(window);  

$("dd").add().add(); //弹出当前选择的元素是:dd,

——————————————————————知识点:1.闭包http://www.cnblogs.com/dewin/archive/2010/06/17/1759477.html

2.可以用$调用函数原代码var jQuery = window.$ = window.jQuery;当你在闭包外面访问时比如用jQuery,实际是访问的window.jQuery,$同理,这个全局变量。js中全局成员,就是指的为window添加属性,反之亦然。

3.

$("dd").add().add();
按照逻辑顺序详解,$("dd")访问函数,并传递了第一个参数dd,返回的是一个待处理块。实例化,new jQuery.fn.init(),找到函数声明,jQuery.fn对象的属性init函数。传入参数dd,执行功能,将弹出当前选择的元素是:dd;$("dd").add(),通

()
时间: 2024-10-10 02:50:10

jQuery2.1.1源码分析(一)---微型jQuery框架的相关文章

【E2LSH源码分析】LSH算法框架分析

位置敏感哈希(Locality Sensitive Hashing,LSH)是近似最近邻搜索算法中最流行的一种,它有坚实的理论依据并且在高维数据空间中表现优异.由于网络上相关知识的介绍比较单一,现就LSH的相关算法和技术做一介绍总结,希望能给感兴趣的朋友提供便利,也希望有兴趣的同道中人多交流.多指正. 1.LSH原理 最近邻问题(nearest neighbor problem)可以定义如下:给定n个对象的集合并建立一个数据结构,当给定任意的要查询对象时,该数据结构返回针对查询对象的最相似的数据

[转] jQuery源码分析-如何做jQuery源码分析

jQuery源码分析系列(持续更新) jQuery的源码有些晦涩难懂,本文分享一些我看源码的方法,每一个模块我基本按照这样的顺序去学习. 当我读到难度的书或者源码时,会和<如何阅读一本书>结合起来进行学习.推荐读读这本书,你可以从这里和这里下载. 第一部分:检视阅读 1. 收集参考资料:官方文档.书籍.百度/谷歌,专题/博客等,快速的浏览,对涉及的知识点.范围.深度.是否有参考意义等有大致的了解和判断,知道这些文章的作者想要解释或解决什么问题. 第二部分:分析阅读 2. 细读官方文档,官方有非

小菜的jquery-2.1.1源码分析(一)

自己根据自己的理解去尝试分析下大名鼎鼎的jquery的源码,一来提高自己使用jqueryAPI的使用能力,最重要的是提高自己javascript的能力,加油! 下载的是官网的http://code.jquery.com/jquery-2.1.1.js,2.1.1版本. (function( global, factory ) { if ( typeof module === "object" && typeof module.exports === "obje

【原创】docker源码分析(1)---框架与engine

本文的QQ空间链接:http://user.qzone.qq.com/29185807/blog/1461813727 本文的csdn博文链接:http://blog.csdn.net/screscent/article/details/51272978 源码为docker 1.6.2版本 为啥要用1.6.2版本,这是因为我买了一本书<Docker容器与容器云>,这本书里面也是用的1.6.2版本. 一边可以学习这本书,一边研究源码,事半功倍.除了这本书,现在网上也有很多讲解docker分析的.

jQuery源码分析-02构造jQuery对象

源码结构.核心函数和工具函数 1.源码结构 (function( window, undefined ) { var jQuery = (function() { // 构建jQuery对象 var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); } // jQuery对象原型 jQuery.fn = jQuery.prototype = {

jquery-2.1.4 源码解读(1):jquery架构

本人在研究jquery源码的过程中将同时记录下研究过程,此文将分阶段研究jquery源码,先是jquery的总体架构,然后是内部实现细节. jquery总体结构为: (function(global, factory){ ... //代码1 }(参数1, 参数2)); 此处定义了匿名函数,然后传入参数1和参数2,立即执行. 代码1处为匿名函数的内部定义,其中会判断是否处于commonJS环境,否则的话将执行fanctory(global); 参数1为typeof window !== "unde

jQuery源码分析-03构造jQuery对象-源码结构和核心函数

3. 构造jQuery对象 3.1源码结构 先看看总体结构,再做分解: (function( window, undefined ) { var jQuery = (function() { // 构建jQuery对象 var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); } // jQuery对象原型 jQuery.fn = jQuery.

jQuery 2.1.4版本的源码分析

jquery中获取元素的源码分析 jQuery.each({// 获取当前元素的父级元素 parent: function(elem) { var parent = elem.parentNode;//nodeType为11的节点类型是DocumentFragment return parent && parent.nodeType !== 11 ? parent : null; },//获取所有的 父节点 这涉及到 dir 方法 parents: function(elem) { ret

jQuery源码分析:源码结构与核心函数

jQuery源码分析-03构造jQuery对象-源码结构和核心函数 jQuery.fn和jQuery.prototype区别