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);

对这样的结构不很理解,也没做深究,只知道和和所谓的

Technorati 标签: JQuery,Javascript,Web前端

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总体架构的理解相关推荐

  1. Dubbo的总体架构

    Dubbo的总体架构,如图所示: Dubbo框架设计一共划分了10个层,最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层.图中左边淡蓝背景的为服务消费方使 ...

  2. 5G NR - 总体架构与物理层

    一 NR总体架构与功能划分 1.1 总体架构 NG-RAN节点包含两种类型: l  gNB:提供NR用户平面和控制平面协议和功能 l  ng-eNB:提供E-UTRA用户平面和控制平面协议和功能 gN ...

  3. 天龙源码框架分析_MySQL8-InnoDB总体架构和运行机制的系统分析(上)

    1. 前文回顾:四个阶段和两种方法 首先让我们回顾下,在上一篇文章介绍的MySQL8代码分析的四个阶段和两种方法. 四个阶段: 借鉴瀑布式软件开发流程,我们将从熟悉MySQL的使用和运维,到吃透MyS ...

  4. Tomcat源码解析系列二:Tomcat总体架构

    Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载serv ...

  5. 5G(2)---NR协议栈及功能1 - 总体架构与物理层

    备注:本文所有图片均来自3GPP标准,包括3GPP TS 38.300 V15.0.0 (2017-12)和3GPP TS 38.202 V15.0.0 (2017-12)等.本文主要介绍截止目前(2 ...

  6. 敏捷开发一千零一问系列之九:总体架构什么时机进行?(上)

    这是敏捷开发一千零一问系列的第九篇.(在这里提问,之一,之二,之三,问题总目录) 问题 总体架构设计在什么时机进行?是每个迭代做还是先做完再迭代? 这是少数几个被提到的技术问题.在两天的培训课程之后, ...

  7. [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构

    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 文章目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 ...

  8. 数据中台架构体系理解

    目前,大部分企业更倾向于数据集中采集.存储,并应用分层建设.这种方式一方面有利于应用系统的快速部署,另一方面也保证了数据的集中管理与运营,体现数据的资产.资源属性. 数据中台的出现弥补了数据开发和应用 ...

  9. HDMI设计5--GT Transceiver的总体架构整理

    在Xilinx中,为HDMI 1.4/2.0 RX/TX Subsystem提供时钟和GTH接口的IP是PHY Controller,Video PHY Controller是为了能够方便使用串行收发 ...

最新文章

  1. html 物理引擎,在物理引擎中画圆弧
  2. 斯坦福助理教授马腾宇:ML非凸优化很难,如何破?
  3. fpga在线升级 linux_仅5000行Verilog代码、可在FPGA上跑轻量级Linux系统的RISC-V内核
  4. java调度:(二)在项目中调度策略的选择
  5. hadoop配置文件的加载机制
  6. CentOS查看硬件信息
  7. as3中的 override
  8. 2003退休去世领了2年退休金没回本就死了能退吗?
  9. [问题2014S07] 复旦高等代数II(13级)每周一题(第七教学周)
  10. Nginx日志安全分析脚本
  11. Gson之TypeAdapterFactory
  12. git clone出错
  13. 【按键】[独立按键] - 2:双击
  14. 书犹药也,善读之可以医愚
  15. JAVA面试解析(有赞一面)
  16. 加州伯克利计算机科学录取,加州大学伯克利分校录取数据分析
  17. windows系统软件管理工具
  18. Machine Learning ——客户流失率的预测
  19. Kaggle比赛总结
  20. 雨听 | 米铺网-文档下载

热门文章

  1. c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制
  2. 如何理解JavaScript多个连续箭头函数书写方式
  3. Linux禁止普通用户su至root
  4. Linq中使用Left Join 和 Right Join
  5. 注解的方式实现动态代理基于SpringAOP
  6. makefile笔记
  7. sublime text3中文文件名显示为框框,怎么解决
  8. H5移动前端性能优化
  9. 算法导论笔记- 二叉查找树问题
  10. 程序员面试【Brainteasers】