jQuery的初始化与对象构建之浅析

 更新时间:2011年04月12日 00:14:37   作者:  
之前本人的工作和学习多以原生js 为主,对jQuery 一直都不是很了解,但jQuery 作为当今最优秀的js 类库之一,必须是要花时间好好学习下的,今天正好蛋疼,读了里面一些代码
小结一下:

1.整个类库定义在一匿名函数中,杜绝了全局变量的产生;
2.将undefined 作为缺失的参数传递,防止了undefined 变量的污染;
3.可以看出$(...) 实际上返回的是jQuery.fn.init 对象的实例,随后将该对象的prototype 指向了jQuery.prototype (语句jQuery.fn.init.prototype = jQuery.fn),因此产生的实例共享着jQuery.prototype 里的方法和属性且实现了链式编程的操作;
4.最后通过window.jQuery = window.$ = jQuery 将jQuery 与$ 导出为全局变量。

复制代码 代码如下:

(function(window, undefined) {
// Define a local copy of jQuery
var jQuery = (function() {
var jQuery = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context/*, rootjQuery*/);
};
// ...
jQuery.fn = jQuery.prototype = {
constructor : jQuery,
init : function(selector, context, rootjQuery) {
// ...
}
// ...
};
// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;
// ...
// Expose jQuery to the global object
return jQuery;
})();
// ...
window.jQuery = window.$ = jQuery;
})(window);

相关文章

  • Jquery.TreeView结合ASP.Net和数据库生成菜单导航条

    Jquery.TreeView结合ASP.Net和数据库生成菜单导航条

    在网上浏览了许多关于利用Jquery.TreeView插件生成树的例子!但是大多数都没有结合数据库来生成树,很难运用到实际项目中!
    2010-08-08
  • jquery 页面滚动到指定DIV实现代码

    jquery 页面滚动到指定DIV实现代码

    页面滚动到指定DIV的方法有很多,在本文将为大家介绍下jquery是如何实现的
    2013-09-09
  • Confirmer JQuery确认对话框组件

    Confirmer JQuery确认对话框组件

    点击链接或按钮时要确认是否继续当前操作。
    2010-06-06
  • JQUERY CHECKBOX全选,取消全选,反选方法三

    JQUERY CHECKBOX全选,取消全选,反选方法三

    最近一直研究JQUERY的CHECKBOX,前面我已经介绍了CHECKBOX的全选和取消全选,而今天我继续给大家分享第三种方法,同时还能实现CHECKBOX的反选和指定选取,当然我们得先下载
    2008-08-08
  • jQuery实现验证码功能

    jQuery实现验证码功能

    本文主要介绍了jQuery实现验证码功能的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • JQuery的AJAX实现文件下载的小例子

    JQuery的AJAX实现文件下载的小例子

    JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载。但可以用js生成一个form,用这个form提交参数,并返回“流”类型的数据。在实现过程中,页面也没有进行刷新
    2013-05-05
  • jQuery中Ajax的get、post等方法详解

    jQuery中Ajax的get、post等方法详解

    前面我们讲述了jQuery中ajax的load()方法,小伙伴们反应非常好,今天我们就来讲解下jQuery中Ajax的get、post等方法,希望大家同样能够喜欢。
    2015-01-01
  • 基于jquery实现简单轮播图效果

    基于jquery实现简单轮播图效果

    这篇文章主要为大家详细介绍了基于jquery实现简单轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 基于BootStrap环境写jQuery tabs插件

    基于BootStrap环境写jQuery tabs插件

    这篇文章主要介绍了基于BootStrap环境写jQuery tabs插件的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • jQuery源码分析之init的详细介绍

    jQuery源码分析之init的详细介绍

    在阅读本文之前,相信大家对 jQuery 的总体架构已经了解了,这一篇文章主要来介绍 jQuery 的入口函数 jQuery.fn.init。有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02

最新评论