`
f002489
  • 浏览: 273170 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

jquery2.6 源码学习

阅读更多

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_DEMO_demodata.js

    在"JQuery-zTree-v2.6.rar"压缩包中,包含了演示示例和源代码,是学习和应用zTree的理想资源。 首先,我们来深入了解zTree的核心特性: 1. **动态加载**:zTree支持异步加载数据,可以根据用户的操作动态加载子...

    jquery帮助文档

    - `Jquery1[1].2.6源码分析.pdf` 进一步深入到jQuery 1.2.6的源码层面,对于想要了解jQuery内部工作原理的开发者来说非常有价值。通过源码分析,可以学习如何优化代码性能,以及理解jQuery的函数如何实现其强大的...

    JQuery zTree.zip

    **jQuery zTree** 是一个基于JavaScript的开源树形插件,它主要依赖于jQuery库,用于构建交互式的树形结构。zTree不仅提供了丰富的展示效果,还提供了多种操作功能,如节点的增删改查、多选、拖拽、异步加载等。这个...

    jquery最新|开发帮助

    2. **jQuery 1.2.6 版本的源码** - `jquery-1[1].2.6.js` 是未压缩的 jQuery 1.2.6 源代码文件,适合在开发环境中使用。在这个文件中,你可以查看 jQuery 的实现细节,学习其内部工作原理,或者进行自定义修改。 3...

    2019最新优化版千月万能影视2.6五级分销推广版源码

    源码中可能还包括一些前端框架或库,如jQuery或Vue.js,以提高开发效率和用户体验。 后端部分,源码可能包含了服务器端的逻辑处理和数据库操作。PHP可能使用了一些常见的PHP框架,如Laravel、ThinkPHP等,这些框架...

    课件发布系统 v2.6完整版

    源码的提供意味着用户可以查看和修改系统的内部工作原理,这对于开发者来说是一大优势。他们可以根据实际需求进行定制,比如增加新的功能模块,优化性能,或者提高安全性。"资源"标签暗示此系统可能包含多种类型的...

    jquery-easyui

    "jquery-easyui-1.3.3" 压缩包中可能包含了该版本的源码、文档、示例项目等资源。通过学习这些资源,可以快速了解和掌握 EasyUI 的用法,提升开发效率。 总结,jQuery EasyUI 是一个强大的前端框架,它利用 jQuery ...

    微查宝照妖镜4.0 v2.6.0 正式版.zip

    从标签来看,这个项目可能涉及到软件开发,尤其是与源码源代码、毕业设计论文以及计算机案例相关的学习和实践。 在压缩包中的文件有以下用途: 1. **说明.htm**:这通常是一个HTML文档,用于提供关于程序或扩展的...

    Vue基于数字孪生的可视化建模系统源码+项目说明文档.zip

    Vue基于数字孪生的可视化建模系统源码+项目说明文档.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、...

    jslinux 简单分析:用JavaScript写出一个PC模拟器,上面运行Linux。

    通过源码分析,我们可以学习到JavaScript高级编程技巧、内存管理和系统级编程知识,这对于提升Web开发者的技能和理解计算机系统运行机制非常有价值。 总之,jsLinux是一个集技术创新和教育于一体的项目,它利用...

Global site tag (gtag.js) - Google Analytics