首页 > 代码库 > jQuery2.1.1源码分析(一)---微型jQuery框架

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(),通

()

 

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