jquery-2.1.4 源码解读(2):jQuery.fn.init 构造函数解读

当我们用$()时就是调用new jQuery.fn.init() 生成jQuery对象。init构造函数在源码的第2735-2832行,具有两个形参,结构如下:

jQuery.fn.init = function(selector, context){
...
}

 init()构造函数对四种情况进行处理:

1、当selector为"",null,undefined,false时,将不带自定义属性的空jQuery对象返回,代码如下:

// HANDLE: $(""), $(null), $(undefined), $(
if ( !selector ) {
    return this;
}

2、当selector为string类型时,又分5种情况,代码从2744-2812:

  1) 当字符串类型为<....>时

  2) 对应(html, props)

  3) 当字符串类型为#...时,此时对应根据id选择符进行选择时

  4) 对应$(expr, $(...))时

  5) 对应 $(expr, context) 时

  其中第四种和第五种情况最为复杂。

3、当selector为DomElement时,代码2812-2824

4、当selector为function时,代码2828-2833

转载于:https://www.cnblogs.com/songych/p/5031050.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值