同事弄的一份对jquery的结构的罗列

2023-11-10 17:18

本文主要是介绍同事弄的一份对jquery的结构的罗列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//捋一下jquery的结构.
1.(function(){
   
/*--框架体--*/
    window
= this,
    undefined,
//据说var undefined直接量会快于undefined.未考证
    _jQuery = window.jQuery, _$ = window.$ //如果window里有覆盖,临时存储进_jQuery 为后面的 noConflict (交出$控制权给其它js库) 作临时存储

   
/*jquery返回的对象只是根据selecter字符串取到的dom对象,经jQuery.fn.init包装之后的返回值(一个jQuery对象).
      除些之外, jQuery对此方法还有其它扩展,比如参数如果是function 则$(fn)实际为$.ready(fn) 等等之类   
   
*/
    jQuery
= window.jQuery = window.$ = function( selector, context ) {
       
return new jQuery.fn.init( selector, context );
    },

   
//定义jQuery基本原型,并作一份拷贝给 jQuery.fn
    $.fn = $.prototype = {
        init:
function(selector, context){...},
        ...
    }

   
//现在开始对jQuery及jQuery.fn作基于类拷贝方式的扩展方法. 下面是方法.
    jQuery.extend = jQuery.fn.extend = function(p) {...}

   
//扩展jQuery,使我们可以用 $.each   $.isFunction  之类的函数。这些函数并不是基于prototype 而是属于jQuery的静态方法.
    jQuery.extend({
        each:
function(){...},
        isFunction:
function(){...}
    })
   
   
//让init函数也具有jQuery的原型, 这样init函数包装出来的对象。即是jquery对象
    $.fn.init.prototype = $.fn;

   
//一个匿名函数, 实现css  selector, 这个匿名函数里定义了 Sizzle对象,用来分析selector参数 最终Sizzle 对象被赋值给window.
   
    (
function(){...})()
   
    window.Sizzle
= Sizzle;
    jQuery.find
= Sizzle;
    jQuery.filter
= Sizzle.filter;
    jQuery.expr
= Sizzle.selectors;
    jQuery.expr[
":"] = jQuery.expr.filters;
    ...
   
   
//定义事件
    jQuery.event = {}
    jQuery.Event
= function(){}
    jQuery.Event.prototype
= {}

    $.extend({
       
/*事件*/
    })

   
//REQUEST库
    $.extend({
       
/*ajax*/
    })

   
//效果库
    $.extend({
       
/*fx*/
    })

    ....

   
//插件机制
    $.extend({
       
    })
   
})()

这篇关于同事弄的一份对jquery的结构的罗列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384143

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a