1,整体结构如下
(
function
() {
//
……
})();
第一对括号里是一个匿名函数,第一对括号表示执行该函数。
注: js的匿名函数模式
http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html非匿名函数的类似写法如下
( function test(){alert('test');})();
所有的jquery代码都放在该匿名函数里,避免了命名冲突。但有两个要单独处理:'jQuery'和'$'
// Map over jQuery in case of overwrite
var _jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$;
var jQuery = window.jQuery = window.$ = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context );
};
noConflict: function( deep ) {
window.$ = _$;
if ( deep )
window.jQuery = _jQuery;
return jQuery;
},
假如没有执行noConflict,则原来定义的$或jQuery(如果定义了的话)会被一个新函数覆盖,只在内部留一个原来的引用(名叫_$或_jQuery)。
如果要兼容原来的$,则执行jQuery.noConflict(),然后只能用jQuery的写法;
极端情况:"jQuery"也被占用了,又要兼容,那么执行var myJQ =jQuery.noConflict(true),以后全用myJQ的写法。
注意:这时jquery.js要放在其他js的后面。
2,
定义jQuery的构造和原型函数,这个过程同时定义了prototype的别名为fn:jQuery.prototype=jQuery.fn。 jQuery对象的原型prototype包括了诸多的核心方法和属性:
init
jquery 当前的版本号
size 返回了length属性
length
get
each
...
定义完了以后必须写以下代码,不明白
// Give the init function the jQuery prototype for later instantiation(晚初始化?)
jQuery.fn.init.prototype = jQuery.fn;
见
http://bbs.blueidea.com/thread-2843388-1-1.htmljQuery.prototype.init( selector, context )是jQuery对象的一个成员函数,但是在jQuery构造函数中总是会执行这个函数,所以说"它是加强的构造函数(init constructor 'enhanced')。因为在执行构造函数jQuery 时总是会执行它。 这也是很多框架的典型做法。
jQuery有3个身份,类,对象,函数(构造函数)。
如果find是对象的方法,即类似于 jQuery.find=function(){}
那么就应该使用jQuery.find();
如果find是类的成员函数,即类似于 jQuery.prototype.find=function(){}
那么必须通过jQuery()返回jQuery实例,再调用find方法,即jQuery().find()。
8,jQuery源码解读---执行过程分析
http://hi.baidu.com/zhuguoneng/blog/item/3d07e9d667e9482b06088b4c.html
分享到:
相关推荐
本人学习jquery的代码和笔记,主要是jquery的入门知识,以及前后台数据交互。包括一个jquery的web工程和一个配置好的tomcat。jquery工程是用myeclipse10做的,如果eclipse打不开可以重新建工程,再把对应的文件拷贝...
锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码 锋利的jQuery 源代码
Jquery学习 Jquery源代码 Jquery数据库操作 Jquery学习 Jquery源代码 Jquery数据库操作 绝对有用,技术含量
总的来说,jQuery-1.4.2.js和jQuery-1.4.2.min.js文件代表了jQuery的核心功能,对于想要深入了解JavaScript和前端开发的人员,研究这两个文件的源代码是非常有价值的。通过学习,开发者不仅可以提高工作效率,还能...
这个压缩包文件"jquery源代码 包括示例 包括示例"显然包含了jQuery的核心源代码以及相关的示例,这对于学习和理解jQuery的工作原理及其用法是非常有价值的。 首先,jQuery的核心源代码是JavaScript的一个模块,它...
7. **性能优化**: 探讨如何编写高性能的jQuery代码,避免常见性能陷阱。 8. **兼容性问题**: 了解jQuery对不同浏览器的兼容策略,如何确保代码在多种环境下稳定运行。 9. **最佳实践**: 遵循官方推荐的编码规范和...
《锋利的jQuery源代码》是一本专门为jQuery初学者设计的学习资源,旨在帮助读者深入理解jQuery的核心机制,通过解析和解读jQuery的源代码,提升JavaScript编程能力。jQuery是一款广泛使用的JavaScript库,它简化了...
学习这部分可以帮助开发者写出更高效的jQuery代码。 8. **版本迭代**:jQuery的发展历程也是一个不断优化的过程。通过对比不同版本的源代码,我们可以了解技术趋势和jQuery的进化路径。 9. **兼容性处理**:jQuery...
jQuery快速开发资料jQuery案例 代码 素材 笔记 作业资料,学习资料 01-getElementById获取元素.html 02-getElementsByTagName获取某些元素.html 03-H5新增获取元素方式(1).html 04-获取特殊元素.html 05-事件三要素....
通过学习和实践这些源代码,你可以了解到如何使用JSP创建动态网页,如何利用Servlet处理HTTP请求,如何运用JavaScript和jQuery增强用户交互,以及如何使用Ajax实现页面的无刷新更新。这些技术的结合使用,是构建现代...
《jQuery实战 源代码》是一本专注于讲解jQuery库实际应用和源码解析的专业书籍。jQuery作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务,使得JavaScript编程变得更加...
《锋利的jQuery源代码》是一份非常宝贵的资源,它为初学者提供了深入理解jQuery核心原理的机会。jQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作以及Ajax交互等任务。这份源...
Jquery学习 Jquery源代码 Jquery数据库操作 绝对有帮助,请下载,有技术含量的,没有你骂我
《精妙绝伦的jQuery 源代码》一书,无疑是深入理解jQuery核心机制的宝贵资源。这本书通过详细的代码示例,帮助读者剖析jQuery库的内部运作,从而提升JavaScript编程能力。在这里,我们将探讨jQuery的核心概念、设计...
本文将针对jQuery 1.2.6版本的源代码进行详细的解读,帮助读者理解其内部机制,提升JavaScript编程技能。 一、jQuery核心概念 1. **选择器引擎(Sizzle)**:jQuery的核心之一是选择器引擎Sizzle,它负责解析CSS...
《jQuery基础教程 (Learning jQuery) 完整源代码》涵盖了jQuery这一强大JavaScript库的基本概念、核心功能以及实际应用。jQuery简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务,使得JavaScript编程变得...
【标题】"四款缩略图jQuery源代码" 涉及的是JavaScript库jQuery的应用,主要集中在创建和管理缩略图展示。jQuery是一款强大的JavaScript工具包,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。在这个项目中...
深入PHP与jQuery开发源代码下载.docx深入PHP与jQuery开发源代码下载.docx深入PHP与jQuery开发源代码下载.docx深入PHP与jQuery开发源代码下载.docx深入PHP与jQuery开发源代码下载.docx
在这个“jQueryMobile源代码”中,我们可以深入研究其内部机制,了解它是如何实现这些功能的。 首先,jQuery Mobile的核心概念是“页面(Pages)”和“面板(Panels)”。页面是应用的基本单元,而面板则用于提供...