【jQuery】自定义jQuery

本文介绍了如何自定义jQuery,包括基础结构和jQuery_self对象的实现。通过分析jQuery的闭包结构和命名空间优势,阐述了init方法在构造对象中的作用。接着,详细讲解了如何为jQuery_self添加DOM选择功能,涉及字符串、数组、对象、函数等多种传参类型的处理,并强调了可复用代码的静态方法设计。文章最后提到,已完成部分的选择逻辑将在后续测试中验证其功能。
摘要由CSDN通过智能技术生成

自定义jQuery

jQuery基础结构

jQuery本质是一个闭包函数

(function(window,undefined){
   
    
    
})(window)

传入window可以避免变量重名带来的错误 这种结构可以使一个框架或工具库享有自己的命名空间不受干扰,传入undefined是因为Ie8 之前可对undefined进行赋值,所以也要拿一个自己的undefined

定义自己的jQuery文件我的命名为jQuery_self

// 闭包避免作用域引起的命名冲突
(function (window,undefined) {
   
     /*
     * @param selector {object}jQuery对象是传入参数
     * @returns {init|jQuery_self} 返回jQuery_self类型
     * @desc 定义njQuery返回njQuery对象 从原型上的init方法上创建
     */
    var jQuery_self =  function(selector,context){
   
        return new jQuery_self.prototype.init(selector,context);
    };
    
    // 自身原型上的init方法中的this可用
    jQuery_self.prototype.init.prototype  = jQuery_self.prototype;
    // 在全局挂载jQuery_self $ 两个顶级对象
    window.jQuery_self = window.$ = jQuery_self;
    
})(window);

写出jQuery_self的基本结构,与jQuery的写法一样 这里的含义就是一种无new实例化,平常如果我们自己写 肯定是写一个构造函数new 一下,然后返回new完的对象

这里jQuery的做法是采用init方式构建对象,本身init方法创建的对象,也无法访问jQuery原型方法和属性,但是jQuery又将init的原型指向顶级对象的原型,这样就可以访问jQuery的实例方法

这里可能有人想说我在扯淡了,直接返回new jQuery()不就行了,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值