http://njuan134.blog.163.com/blog/static/30332917200992823025377/
1.js文件总体结构如下: (function(){})(...省略3548行); 这应该相当于eval 一个function.
2. 每个$("")都会生成一个jQuery的对象,构造函数如下:
var jQuery = window.jQuery = window.$ =
function( selector, context )
{
return new jQuery.fn.init( selector, context );
}
3.jQuery.fn = jQuery.prototype={...}
对jQuery类的prototype赋值.他和jQuery.fn共享对象.
jQuery.fn.init.prototype = jQuery.fn; 再把jQuery.fn.init的prototype设为jQuery.fn即jQuery.prototype.
构造函数( return new jQuery.fn.init( selector, context ); ) 返回的都是一个jQuery对象.
4.jQuery.extend = jQuery.fn.extend = function() {...} 定义extend,该方法调用时将参数对象中的成员拷贝到
jQuery类上.jQuery[name] = objet[name];
5.jQuery.each(object, callback, args)函数就是通过extend方法加到jquery对象上的.调用时方式如下:
jQuery.each({
parent: function(elem){return elem.parentNode;},
parents: function(elem){return jQuery.dir(elem,"parentNode");},
next: function(elem){return jQuery.nth(elem,2,"nextSibling");},
}, function(name, fn){
jQuery.fn[ name ] = function( selector ) {
var ret = jQuery.map( this, fn );
if ( selector && typeof selector == "string" )
ret = jQuery.multiFilter( selector, ret );
return this.pushStack( jQuery.unique( ret ) );
};
});
jQuery.each中关键是通过 callback.apply( object[ name ], args )让object[ name ]对象(
如function(elem){return elem.parentNode;} )执行方法
function(name, fn){
jQuery.fn[ name ] = function( selector ) {
var ret = jQuery.map( this, fn );
if ( selector && typeof selector == "string" )
ret = jQuery.multiFilter( selector, ret );
return this.pushStack( jQuery.unique( ret ) );
};
}从而将object中的成员(方法)拷贝到jQuery.fn即jQuery.prototype上,从而增加jQuery对象上的方法
分享到:
相关推荐
jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码...
JQuery zTree v2.6.rar,含demo
JQUERY博客源码 JQUERY博客源码
2023年最新整理优质源码之圣诞节雪花飘落jQuery特效源码 2023年最新整理优质源码之圣诞节雪花飘落jQuery特效源码 2023年最新整理优质源码之圣诞节雪花飘落jQuery特效源码 2023年最新整理优质源码之圣诞节雪花飘落...
jQuery Popup 源码示例
jquery.ui-1.6rc2.6jquery.ui-1.6rc2.6jquery.ui-1.6rc2.6jquery.ui-1.6rc2.6jquery.ui-1.6rc2.6
JQuery zTree v2.6.zipJQuery zTree v2.6.zipJQuery zTree v2.6.zipJQuery zTree v2.6.zip
jQuery学习资料 锋利的Jquery 源码 锋利的Jquery 源码 锋利的Jquery 源码
jquery最新源码jquery最新源码jquery最新源码
jQuery 教程 源码+实例+注释jQuery 教程 源码+实例+注释jQuery 教程 源码+实例+注释jQuery 教程 源码+实例+注释
Jquery源码分析 清晰 Jquery源码分析 清晰 Jquery源码分析 清晰 Jquery源码分析 清晰
Jquery1.2.6源码分析及源码文件 博文链接:https://jljlpch.iteye.com/blog/234218
Jquery1.2.6源码分析文档,并附上分析的源代码。
50个jquery例子源码,附有比较详细的代码,更快的帮助您网页设计。
jquery学习资料jQuery DOM的操作jQuery插件源码jQuery插件等资料: jQuery DOM教辅.pdf jQuery DOM源码 jQuery DOM的操作.pdf jQuery 丰富的插件.pdf jQuery 事件的处理.pdf jQuery 元素选择器参考手册(教辅) .pdf ...
jQuery,源码jQuery,源码jQuery,源码jQuery,源码jQuery,源码jQuery,源码
Day09【JQuery】源码及综合案例