jQuery 学习分析系列1 jQuery是个什么东西

jQuery 的基本结构

      过去使用jQuery 都是一些范范的应用,因为工作的需要,现在要使用jQuery 做大量的控件开发,所以不得不捡起jQuery 重新深入了解一下这些原理,过去在使用的$() jQuery 都是在做节点查询,反正是传入string或则 dom 等这些肯定可以返回一个节点对象,对如果返回的过程不慎了解,重读一下jquery 1.7 的代码写这个系列的文章算是留个纪念,个人的理解可能有些偏差,中间也参考了网上其他的博文,这里主要调处一下重点的内容解释记录一下,

 

 

      1.jQuery 整体结构式 是采用一个(function (window, undefined){})(window) 这种函数方式,以前也经常使用这个方式写函数,主要目的是定义即执行,不用定义函数名称,jQuery 使用这种方式定义应该考虑用户作为类库引用时候直接就 导入了jQuery 应有的函数定义变量定义的执行过程,

 

 

      2.上述方法有两个参数变量,一个是window 一个是undefined 第一个很容易理解,就是window 窗口对象的引用,在jQuery 类库中定义一个引用方面调用,另一个undefined 这个东西比较让人费解,为甚要有一个undefined ,一般大家在使用js 的使用都理解 undefined 和null 的区别,null 是定义为负值,而undefined 是未定,但是有一个浏览器的特性就是在不同的浏览器用对undefined 可以进行重写,如果用户重写的undefined 用户在引用jQuery 类库的时候那就无法 在类库中使用正确的 undefined  的意义。所以这里 (function (window, undefined){})(window)  当然undefined 就是真正的未定义变量的含义了,即使用户自己或者引用的其他类库中重新定义了undefined 也不会对jQuery 产生影响。

 

 

        jQuery 功能很单一,源码结构也比较清新,但是真正的看具体实现里边有些东西还是比较绕,本人用过很长时间的Ext 系列的类库,现在也对比一下jQuery ,jQuery 的代码实现基本是为了轻巧,有些面向对象,但是结构比较奇怪,比起Ext 的所有基于类对象的写法确实是有非常大的区别。

 

        这里先看一个jQuery 是怎么回事

        

var jQuery=(function(){
     

      var jQuery=functioin(selector,context){
         return  new jQuery.fn.init();
      }

      return jQuery
})();

   我们在使用jQuery() 做节点查询的时候基本都是通过这个入口,真正返回的是jQuery.fn.init() 的这个对象

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值