jQuery是一个兼容多浏览器的javascript框架,核心理念是writeless,domore(写得更少,做得更多)。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。那么作为一个前端设计师,怎么可能不来深入了解下jQuery呢,首先我们从他的总体构架开始吧

先来看代码:


(function (window, undefined) {
  //构建jQuery对象
  var document = window.document,
  navigator = window.navigator,
  location = window.location;
  var jQuery = (function () {
  var jQuery = function (selector, context) {
  return new jQuery.fn.init(selector, context, rootjQuery);
  },
  _jQuery = window.jQuery;
  //............................
  //............................ 
  return jQuery; //981行
  })();
  //工具方法:Utilities;我在jQuery源码中没有发现是哪一块,如果有发现的.可以告诉我一下
  //回调函数列表 Callbacks
  //异步队列 Deferred
  //浏览器功能测试 Support
  //数据缓存  Cache
  //属性操作  Attributes
  //队列 Queue
  //事件系统 Event
  //选择器 Sizzle
  //Dom遍历 Traversing
  //Dom操作 Manipulation
  //样式操作 CSS
  //异步请求 Ajax
  //动画 Effects
  //坐标 Offset. 尺寸Dimensions
  window.jQuery = window.$ = jQuery;
  })(window);

1.这个就是jQuery源码的结构了.个人觉得还是相当的清晰和有条理的.

2.jQuery的整个最外层就是一个自调用的匿名函数,这样就可以创建一个闭包.该闭包中的各种变量,函数就不会和闭包外的变量和函数发生影响,确保了jQuery的独立性,安全性.

3最后一句代码:window.jQuery = window.$ = jQuery;则是定义了一个全局变量jQuery和$.并且吧私有变量jQuery的引用赋给了这个全局变量.

4.将最大的对象window当做实参传递到函数中,使得window变成了局部变量,可以大大的缩短查找window的查找时间,同样节省资源.

5,第二个参数undefined,是一个形参,在实际执行的时候,没有获得参数赋值,那么系统就会给他自动赋值成undefined.这样在jQuery的闭包中确保了undefined值的真时性,因为undefined在jQuery的外面有可能被篡改掉.尽管这个篡改的结果,各种浏览器不一样.

最新资讯
特斯拉市值暴涨:马斯克身家超巴菲特成全球第七大富豪

特斯拉市值暴涨:马斯

刚刚,特斯拉股价再度暴涨,连股神巴菲特也被马斯克“超越
理想汽车申请赴美IPO 2020年第一季度净亏损7711.3万元

理想汽车申请赴美IPO

2020年第一季度,理想汽车实现营收8.52亿元人民币,对应毛
苹果CEO库克2019年薪酬总额超过1.33亿美元

苹果CEO库克2019年薪

库克几乎所有的薪酬都是以股票奖励和相关绩效奖金的形
电竞工作者不单单是打游戏 或成为年轻人择业的新蓝海

电竞工作者不单单是打

高校毕业生就业统计相关指标,其中比较引人注目的一点是
理想汽车申请赴美IPO 李想和王兴分列第一第二大股东

理想汽车申请赴美IPO

李想是理想汽车的最大自然人股东,持有约3.56亿股,约占总
6月国内手机出货量2863.0万部 5G手机占比超六成

6月国内手机出货量286

据中国信通院最新发布的报告,2020年6月,国内手机市场总
最新文章
Vue实现图片与文字混输效果

Vue实现图片与文字混

用多了 JQuery ,习惯了使用JQuery的API操作 DOM ,几乎忘
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

Vue实现点击当前元素

这篇文章主要介绍了Vue实现点击当前元素以外的地方隐
Vue实现验证码功能

Vue实现验证码功能

这篇文章主要为大家详细介绍了Vue实现验证码功能,文中
JS实现的雪花飘落特效示例

JS实现的雪花飘落特效

这篇文章主要介绍了JS实现的雪花飘落特效,结合实例形
微信小程序实现图片压缩

微信小程序实现图片压

这篇文章主要为大家详细介绍了微信小程序实现图片压缩
JavaScript实现京东放大镜效果

JavaScript实现京东放

这篇文章主要为大家详细介绍了JavaScript实现京东放大