`
gyht0808
  • 浏览: 115546 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我对jQuery的理解一

阅读更多

各位应该和我一样,对jQuery这个js轻量级框架有着很深的感触,因为有了它,使我们的工作变得更加轻松,使代码的结构变得更加清晰。但是同样也是有负面的影响,如果使用的多了,自己js的能力可能会下降,这个也是因人而异的。

为了增强自己对jQuery的理解,也为了体会一下大师John Resig的代码风格,今天好好的看了下jQuery的源码。

其实jQuery的总体架构还是挺简单的,最基础的代码如下:

 

 

(function() {
	var myQuery = (function() {
		var myQuery = function(args) {
			alert(args);
		};
		return myQuery;
	})();
	window.myQuery = window.$ = myQuery;
})();
$(88);

 

上面的代码是我根据jQuery的源码自己改写的比较清晰的组织形式。

首先定义了一个命名空间,在命名空间里面声明了一个函数,函数内部返回一个函数指针,其实这个指针才是真正要用到的对象,之后所有的jQuery都是在这个对象上扩展方法。

 

 

window.myQuery = window.$ = myQuery;

上面的方法就是让全局变量中的$指向这个对象指针。

 

个人博客同步更新

分享到:
评论
8 楼 bugu1986 2011-03-25  
。其实有jquery的源码分析,以前的je的js高手写的
7 楼 xiaoyuqi00 2011-03-24  
没含量。。。
6 楼 int08h 2011-03-21  
就算说命名空间,这里的命名空间也是
window.myQuery = window.$ = myQuery;
这一句
5 楼 ka520888 2011-03-21  
写得太简单了吧.....就这么点东西?
4 楼 gyht0808 2011-03-21  
refinement_code 写道
写的不错
不过用命名空间这个词,容易让人产生误会

其实那个时候我也想不出什么词,然后脑子里好像就只有那个词,希望大虾帮我想个官方点的描述方法,我可以修正
3 楼 refinement_code 2011-03-21  
写的不错
不过用命名空间这个词,容易让人产生误会
2 楼 gyht0808 2011-03-21  
hyj1254 写道
命名空间通常来讲是个对象,防止不同js互相冲突。你这个叫闭包。

我的命名空间就是指最外面的那个
1 楼 hyj1254 2011-03-21  
命名空间通常来讲是个对象,防止不同js互相冲突。你这个叫闭包。

相关推荐

    深入理解jquery和javascript系列

    深入理解JavaScript和jQuery是Web开发中的重要课题,这两者都是前端开发者不可或缺的工具。JavaScript作为浏览器端的主要脚本语言,负责动态交互,而jQuery则是一个轻量级的库,极大地简化了JavaScript的DOM操作,...

    jQuery 理解

    **jQuery 理解** jQuery 是一个广泛使用的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和Ajax交互,使得开发者能够更快速、更简洁地编写动态网页。自2006年发布以来,jQuery 已经成为了前端开发的主流...

    解决chrome对jQuery的支持问题

    "解决chrome对jQuery的支持问题"这个主题就聚焦于这样一个常见问题:Chrome浏览器对jQuery的`$(document).ready()`函数的执行时机。 `$(document).ready()`,也常被写为`$(function() {...})`,是jQuery中的一个...

    从零开始学jquery

    【从零开始学jQuery】这个教程旨在帮助初学者全面理解并掌握jQuery这一强大的JavaScript库。jQuery简化了HTML文档遍历、事件处理、动画设计和Ajax交互,是Web开发中的常用工具。 ### (一) 开天辟地入门篇 在入门...

    jquery例子大全 jquery demo

    在“jQuery例子大全 jQuery demo”这个压缩包中,包含了一系列的示例,旨在帮助用户快速理解和掌握jQuery的核心概念及常用方法。** ### 一、jQuery 基本使用 jQuery 的核心在于它的选择器,它允许我们方便地选取...

    锋利的jquery-第一版

    《锋利的jQuery》第一版是一本深入解析jQuery库的权威指南,旨在帮助开发者更好地理解和应用这个强大的JavaScript库。jQuery以其简洁的API和高效的DOM操作,极大地简化了JavaScript的复杂性,成为Web开发中不可或缺...

    jQuery1.12.4+jQuery中文手册.rar

    **jQuery 1.12.4 知识点详解** jQuery 是一个广泛使用的JavaScript库,它简化了HTML文档...以上是对jQuery 1.12.4及其相关资源的基本介绍,掌握这些内容,将有助于你在实际开发中熟练运用jQuery,提升前端开发水平。

    jquery各版本,jquery1.3-1.7,jquery文件

    jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。这个压缩包文件包含了从jQuery1.3到jQuery1.7的多个版本,这些版本见证了jQuery的发展历程和功能...

    Jquery下載,Jquery-3.5.1

    1. **选择器**: jQuery 提供了类似 CSS 的选择器,用于快速选取页面上的元素。例如,`$("#myID")` 会选择 ID 为 "myID" 的元素,`$(".myClass")` 会选择所有 class 为 "myClass" 的元素。 2. **DOM 操作**: jQuery ...

    jquery-migrate: 迁移旧的jQuery代码至jQuery1.9以上的版本

    在JavaScript开发领域,jQuery是一个广泛应用的库,它极大地简化了DOM操作、事件处理和Ajax交互。然而,随着jQuery的版本更新,为了保持库的性能和现代化,一些旧的API和功能被废弃。这就给那些依赖旧版jQuery代码的...

    最新版JQuery-jquery-3.2.1.min.js

    jQuery 3.x 系列是继1.x和2.x后的又一重大更新,它主要关注性能优化、API清理以及对现代浏览器的更好支持。`3.2.1`作为其中的一个小版本更新,主要关注修复已知问题和改进兼容性。 ### 2. jQuery.holdReady(hold) ...

    jquery1.51

    1. **选择器引擎优化**:jQuery 1.5.1对选择器引擎Sizzle进行了优化,提高了元素查找的速度和准确性,使得在大型DOM树中操作更加高效。 2. **AJAX增强**:这一版本加强了AJAX功能,如增加了对JSONP的支持,提升了...

    经典jquery案例 经典jquery

    "经典jquery案例 经典jquery"这个主题涵盖了几个实用且常见的jQuery应用,通过这些案例,我们可以深入理解jQuery的强大功能和便捷性。 首先,"可编辑表格"是网页交互中常见的一种功能,jQuery可以轻松实现这一需求...

    jQuery在线试卷答题代码.zip

    《jQuery在线试卷答题代码》是基于JavaScript库jQuery实现的一款多功能的在线考试系统。该系统涵盖了多种题型,包括但不限于单项选择题、多项选择题、判断题、填空题、解答题、论述题以及完形填空和阅读理解,旨在...

    jQuery Starterkit

    **jQuery Starterkit** ...无论是对jQuery感兴趣的初学者,还是正在寻找API参考和解决方案的开发者,都能从中受益。通过阅读教程、查阅API文档、实践代码示例,用户可以深入理解jQuery,提升自己的前端开发技能。

    jquery-1.12.4.zip下载

    在这个标题为“jquery-1.12.4.zip”的压缩包中,包含的是jQuery库的1.12.4版本,这是一个稳定且成熟的选择,适用于那些对兼容性和性能有较高要求的项目。 首先,我们来了解一下jQuery的核心特性。jQuery的主要目标...

    JQuery chm帮助文件(多个版本)

    **jQuery 3.1**: 这是jQuery 3.x的主要版本之一,它对jQuery进行了重构,移除了对旧版IE浏览器的支持,提高了对现代浏览器的兼容性和性能。主要更新包括对Promise/A+规范的完全支持,以及对ES6特性的拥抱。 **使用...

    jquery-3.0.0.js 、jquery-3.0.0.min.js 【官方jquery包 js】

    1. 兼容性:jQuery 3.0.0对浏览器的兼容性进行了全面升级,支持现代浏览器的同时,也保留了对旧版IE的兼容,确保代码能在广泛的应用场景中正常运行。 2. 性能提升:3.0.0版本对内部算法进行了优化,提高了代码执行...

    Jquery 3.2.1.zip

    在这个"Jquery 3.2.1.zip"压缩包中,包含的是jQuery的最新版本3.2.1的相关资料,对于想要深入理解和运用jQuery的开发者来说,是一份非常宝贵的资源。 首先,让我们了解一下jQuery的核心特性。jQuery简化了DOM操作,...

    jquery-2.1.4.zip

    1. **选择器**:jQuery提供了一种简洁的方式来选取DOM元素,比如"$('div')”可以选取所有的`<div>`元素。它还支持CSS选择器,甚至扩展了一些自定义的选择器,如":first"、":last"、":even"等。 2. **链式操作**:...

Global site tag (gtag.js) - Google Analytics