jQuery总体架构的理解
jQuery脚本总体结构来说,有如下形式:
(function( window, undefined ) { // Define a local copy of jQueryvar jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init( selector, context ); },// Expose jQuery to the global objectwindow.jQuery = window.$ = jQuery; })(window);
对这样的结构不很理解,也没做深究,只知道和和所谓的
js闭包的概念相关,今天查了一些资料,有了些基本的理解。
实际是定义了一个全局函数,前一个括号为一个匿名函数,后面为函数的调用。可以这样理解:
var fun=function(window, undefined){ ... ... }fun(window);
如http://streamlet77.javaeye.com/blog/914305的解释可以比较好的说明:
整个脚本是一个匿名函数(暂时叫它mainFn吧),函数被加载的时候便开始执行,mainFn可以接收两个参数,执行时只传递一个参数window.
1. 具体解释下这个写法的意思:
2. window 函数执行时会传入window,这个传入的window是全局对象(通常为Window)的
3. 一个属性且window=this,而传入mainFn函数中作为其参数时,它会被存储在
4. mainFn的调用对象中.在原型链中查找变量的策略是(非嵌套函数):先查找调用
5. 对象,再查找全局对象,所以这使得整个mainFn中使用的window时查找效率更高
6. undefined 由于执行时并未传递第二个参数,故变量undefined的值为undefined.早期版
7. 本的浏览器中全局对象可能没有undefined属性,所以不能直接使用它.通常避免
8. 这个问题的写法是 window.undefined = window.undefined
然后在最后让jQuery库中最重要的对象jQuery成为了window对象的一个属性,并可以简写为“$”。
转载于:https://www.cnblogs.com/lazeman/archive/2011/03/05/1971884.html
jQuery总体架构的理解相关推荐
- Dubbo的总体架构
Dubbo的总体架构,如图所示: Dubbo框架设计一共划分了10个层,最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层.图中左边淡蓝背景的为服务消费方使 ...
- 5G NR - 总体架构与物理层
一 NR总体架构与功能划分 1.1 总体架构 NG-RAN节点包含两种类型: l gNB:提供NR用户平面和控制平面协议和功能 l ng-eNB:提供E-UTRA用户平面和控制平面协议和功能 gN ...
- 天龙源码框架分析_MySQL8-InnoDB总体架构和运行机制的系统分析(上)
1. 前文回顾:四个阶段和两种方法 首先让我们回顾下,在上一篇文章介绍的MySQL8代码分析的四个阶段和两种方法. 四个阶段: 借鉴瀑布式软件开发流程,我们将从熟悉MySQL的使用和运维,到吃透MyS ...
- Tomcat源码解析系列二:Tomcat总体架构
Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载serv ...
- 5G(2)---NR协议栈及功能1 - 总体架构与物理层
备注:本文所有图片均来自3GPP标准,包括3GPP TS 38.300 V15.0.0 (2017-12)和3GPP TS 38.202 V15.0.0 (2017-12)等.本文主要介绍截止目前(2 ...
- 敏捷开发一千零一问系列之九:总体架构什么时机进行?(上)
这是敏捷开发一千零一问系列的第九篇.(在这里提问,之一,之二,之三,问题总目录) 问题 总体架构设计在什么时机进行?是每个迭代做还是先做完再迭代? 这是少数几个被提到的技术问题.在两天的培训课程之后, ...
- [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构
[源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 文章目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 ...
- 数据中台架构体系理解
目前,大部分企业更倾向于数据集中采集.存储,并应用分层建设.这种方式一方面有利于应用系统的快速部署,另一方面也保证了数据的集中管理与运营,体现数据的资产.资源属性. 数据中台的出现弥补了数据开发和应用 ...
- HDMI设计5--GT Transceiver的总体架构整理
在Xilinx中,为HDMI 1.4/2.0 RX/TX Subsystem提供时钟和GTH接口的IP是PHY Controller,Video PHY Controller是为了能够方便使用串行收发 ...
最新文章
- html 物理引擎,在物理引擎中画圆弧
- 斯坦福助理教授马腾宇:ML非凸优化很难,如何破?
- fpga在线升级 linux_仅5000行Verilog代码、可在FPGA上跑轻量级Linux系统的RISC-V内核
- java调度:(二)在项目中调度策略的选择
- hadoop配置文件的加载机制
- CentOS查看硬件信息
- as3中的 override
- 2003退休去世领了2年退休金没回本就死了能退吗?
- [问题2014S07] 复旦高等代数II(13级)每周一题(第七教学周)
- Nginx日志安全分析脚本
- Gson之TypeAdapterFactory
- git clone出错
- 【按键】[独立按键] - 2:双击
- 书犹药也,善读之可以医愚
- JAVA面试解析(有赞一面)
- 加州伯克利计算机科学录取,加州大学伯克利分校录取数据分析
- windows系统软件管理工具
- Machine Learning ——客户流失率的预测
- Kaggle比赛总结
- 雨听 | 米铺网-文档下载