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-zTree-v2.6.rar"压缩包中,包含了演示示例和源代码,是学习和应用zTree的理想资源。 首先,我们来深入了解zTree的核心特性: 1. **动态加载**:zTree支持异步加载数据,可以根据用户的操作动态加载子...
- `Jquery1[1].2.6源码分析.pdf` 进一步深入到jQuery 1.2.6的源码层面,对于想要了解jQuery内部工作原理的开发者来说非常有价值。通过源码分析,可以学习如何优化代码性能,以及理解jQuery的函数如何实现其强大的...
**jQuery zTree** 是一个基于JavaScript的开源树形插件,它主要依赖于jQuery库,用于构建交互式的树形结构。zTree不仅提供了丰富的展示效果,还提供了多种操作功能,如节点的增删改查、多选、拖拽、异步加载等。这个...
2. **jQuery 1.2.6 版本的源码** - `jquery-1[1].2.6.js` 是未压缩的 jQuery 1.2.6 源代码文件,适合在开发环境中使用。在这个文件中,你可以查看 jQuery 的实现细节,学习其内部工作原理,或者进行自定义修改。 3...
源码中可能还包括一些前端框架或库,如jQuery或Vue.js,以提高开发效率和用户体验。 后端部分,源码可能包含了服务器端的逻辑处理和数据库操作。PHP可能使用了一些常见的PHP框架,如Laravel、ThinkPHP等,这些框架...
源码的提供意味着用户可以查看和修改系统的内部工作原理,这对于开发者来说是一大优势。他们可以根据实际需求进行定制,比如增加新的功能模块,优化性能,或者提高安全性。"资源"标签暗示此系统可能包含多种类型的...
"jquery-easyui-1.3.3" 压缩包中可能包含了该版本的源码、文档、示例项目等资源。通过学习这些资源,可以快速了解和掌握 EasyUI 的用法,提升开发效率。 总结,jQuery EasyUI 是一个强大的前端框架,它利用 jQuery ...
从标签来看,这个项目可能涉及到软件开发,尤其是与源码源代码、毕业设计论文以及计算机案例相关的学习和实践。 在压缩包中的文件有以下用途: 1. **说明.htm**:这通常是一个HTML文档,用于提供关于程序或扩展的...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
通过源码分析,我们可以学习到JavaScript高级编程技巧、内存管理和系统级编程知识,这对于提升Web开发者的技能和理解计算机系统运行机制非常有价值。 总之,jsLinux是一个集技术创新和教育于一体的项目,它利用...