当前位置: 首页 > news >正文

jQuery阶段总结(二维表+思维导图)

 引言

        经过23天的学习,期间有期末考试,有放假等插曲。本来应该在学校里学习,但是特殊原因,让回家了。但是在家学习的过程,虽然在学,很让我感觉到不一样。但是效果始终还是差点的,本来17、18号左右就该验收的。但是硬是拖到了今天才验收,时间啊~全浪费了。好在也是顺利完结了jQuery阶段。

        下面是我学习过程中做的二维表和思维导图,希望对大家有帮助。

二维表

两种常用引用库的方法

CDN引用

本地引用

what

CDN(Content Delivery Network,内容分发网络)是一种通过分布在不同地理位置的多个服务器来加速内容交付的技术。CDN可以显著降低网页加载时间,提高用户体验。

将JavaScript库文件下载到本地,并在HTML文件中使用<script>标签引用。

where

引用外部库

why

  • 加载速度快:由于CDN服务器分布在全球各地,用户可以从离自己最近的服务器加载资源。
  • 节省带宽:使用CDN可以减少自家服务器的带宽消耗。
  • 高可用性:CDN提供了高可用性,即使某个服务器宕机,也能从其他服务器获取资源。
  • 完全控制:所有文件都在本地,完全不依赖外部资源。
  • 安全性高:不需要担心外部CDN的隐私问题。

how

要使用CDN引用JavaScript库文件,只需在HTML文件的<head><body>部分添加一个<script>标签,并将src属性设置为相应的CDN URL。例如,如果要引用jQuery库,可以使用以下代码:

假设我们将jQuery库文件下载到了项目的js目录中,然后;

缺点

  • 依赖外部资源:如果CDN服务不可用,引用的库文件也无法加载。
  • 隐私问题:使用CDN可能会暴露用户的访问记录。
  • 加载速度:相对于CDN,加载速度可能较慢,尤其是当服务器离用户较远时。
  • 带宽消耗:增加了自家服务器的带宽消耗。

三个js文件

.js

.min.js

.intellisense.js

what

源代码文件,包含了完整的 jQuery 函数库代码。

jquery.min.js是压缩版本,而jquery.js是未压缩版本。

jQuery intellisense.js 文件是用于提供智能感知功能的文件

where

一般用于开发环境,当开发者需要进行 jQuery 的二次开发、调试或者查看原始代码逻辑时会用到。不过在实际生产环境中较少直接使用,因为其文件较大,加载速度相对较慢。

常用于生产环境中的网页项目。在大多数情况下,开发者为了提高网页的性能和加载速度,会选择在生产环境中使用 .min.js 文件,因为它可以在不损失功能的前提下,减少文件传输的大小和时间。

主要在开发过程中使用,当开发者使用具有智能感知功能的编辑器编写涉及 jQuery 的代码时,需要引入 .intellisense.js 文件以便获得更好的开发体验。

why

它未经压缩和混淆处理,可读性较好,方便开发者进行调试和学习。如果开发者需要对 jQuery 的源代码进行修改或深入了解其实现原理,可以使用这个文件。

常用于生产环境中的网页项目。

在大多数情况下,开发者为了提高网页的性能和加载速度,会选择在生产环境中使用 .min.js 文件,因为它可以在不损失功能的前提下,减少文件传输的大小和时间。

主要用于提供智能感知功能。

How

cdn ,下载到本地

map 和 each 循环

$ . map

$.each

语法

$ . map ( 数组或对象,回调函数 );

$ . each ( 对象或数组 , 回调参数);

遍历对象

可以遍历任何类型的集合,如数组、对象等。对于数组,会依次处理每个元素;对于对象,会遍历其可枚举属性。

要应用于数组和类数组对象,将原数组中的每个元素按照指定规则映射到新数组中的元素。

回调函数参数

回调函数的参数为 index(索引)和 elem(元素值),如果是遍历对象,参数为 keyvalue

回调函数的参数为 elem(元素值)和 index(索引),顺序与 each 相反。

返回值

始终返回被遍历的对象本身,即原数组或原 jQuery 对象。

返回一个新的数组,该数组由每次回调函数的返回值组成。

jQuery对象和DOM对象

jQuery对象

DOM对象

what

是通过 jQuery 包装 DOM 对象后产生的对象

是原生的 JavaScript 对象

where

简洁、方便的开发方式和更好的浏览器兼容性,可以选择使用 jQuery 对象;

对性能要求较高且只需要简单的 DOM 操作,可以直接使用原生的 DOM 对象。

why

jQuery 提供了更简洁、更方便的语法和操作方式,可以大大提高开发效率。

直接操作 DOM 对象通常具有较高的性能,因为省去了 jQuery 包装和解包的过程,但对于复杂的操作和跨浏览器兼容性处理,需要开发者自己编写更多的代码。

how

例如,使用 $("div") 选择页面中所有的 <div> 元素,得到一个包含这些元素的 jQuery 对象;或者通过 $(document) 获取文档对象等。

document.getElementById("id") 获取具有指定 ID 的元素、document.getElementsByClassName("class") 获取具有指定类名的元素集合、document.getElementsByTagName("tag") 获取具有指定标签名的元素集合等。

对象类型和数据结构

是一个类数组对象,具有数组的一些特性,但并非真正的数组。它本质上是一个包含 DOM 元素的集合,并且提供了一些额外的方法和属性来方便操作

对于单个元素获取的 DOM 对象,它是一个独立的元素对象;对于通过 getElementsByClassNamegetElementsByTagName 等方法获取的则是类数组对象,但这些类数组对象并不具备 jQuery 对象那样丰富的方法和属性。

性能表现

由于其内部实现和功能丰富性,相对来说可能会比直接操作 DOM 对象稍慢一些,尤其是在大量元素操作或频繁操作时,性能差异可能会更明显。

直接操作 DOM 对象通常具有较高的性能,因为省去了 jQuery 包装和解包的过程,但对于复杂的操作和跨浏览器兼容性处理,需要开发者自己编写更多的代码

浏览器兼容性

好:Query 库本身对各种浏览器的兼容性进行了处理,使得在不同浏览器中的操作行为更加一致,减少了开发者处理浏览器兼容性问题的工作量。

不好:不同浏览器对 DOM 对象的实现可能会有一些差异,尤其是在一些较老的浏览器中,可能需要开发者进行额外的兼容性处理。

转换

从 DOM 对象到 jQuery 对象:可以使用 $ 函数将 DOM 对象转换为 jQuery 对象,以便使用 jQuery 的方法和属性。

例如,var domObj = document.getElementById("myDiv"); var $jqObj = $(domObj);

从 jQuery 对象到 DOM 对象:可以通过索引访问的方式获取对应的 DOM 对象,如 var domObj = $jqObj[0];

hover 和 toggle

hover

toggle

what

将一个或两个处理程序绑定到匹配的元素,以便在鼠标指针进入和离开元素时执行。

toggle 方法是 jQuery 中一种强大而灵活的方法,它不仅可以用于控制元素的显示与隐藏,还能执行动画效果、切换事件处理函数以及自定义函数之间的切换。在实际开发中,开发者应根据具体需求选择合适的用法和参数配置,以实现最佳的交互效果和用户体验。

where

将两个处理程序绑定到匹配的元素,以便在鼠标指针进入和离开元素时执行。

执行动画效果

元素的显示与隐藏切换

自定义函数之间的切换

why

要添加特殊样式以列出悬停在其上的项目

灵活

how

变迁

3.3后弃用啦~

此 API 已弃用。请改用:

.on( "mouseenter", handlerIn ).on( "mouseleave", handlerOut )

效果变多啦~

但视频课的效果在1.8后被弃用~在1.9被删除 QwQ~

思维导图

1

2

3

4

总结

        度过jQuery阶段,接下来是学习软件工程。可能暂时不会敲代码了,但是我认为绝对不能孤立地看待问题,学软工也要结合具体代码来联想学习。

相关文章:

jQuery阶段总结(二维表+思维导图)

引言 经过23天的学习&#xff0c;期间有期末考试&#xff0c;有放假等插曲。本来应该在学校里学习&#xff0c;但是特殊原因&#xff0c;让回家了。但是在家学习的过程&#xff0c;虽然在学&#xff0c;很让我感觉到不一样。但是效果始终还是差点的&#xff0c;本来17、18号左右…...

【LLM】RedisSearch 向量相似性搜索在 SpringBoot 中的实现

整理不易&#xff0c;请不要吝啬你的赞和收藏。 1. 前言 写这篇文章挺不容易的&#xff0c;网络上对于 SpringBoot 实现 Redis 向量相似性搜索的文章总体来说篇幅较少&#xff0c;并且这些文章很多都写得很粗糙&#xff0c;或者不是我想要的实现方式&#xff0c;所以我不得不阅…...

如何为64位LabVIEW配置正确的驱动程序

在安装 64位 LabVIEW 后&#xff0c;确保驱动程序正确配置是关键。如果您首先安装了 32位 LabVIEW 和相关驱动&#xff0c;然后安装了 64位 LabVIEW&#xff0c;需要确保为 64位 LabVIEW 安装和配置适当的驱动程序&#xff0c;才能正常访问硬件设备。以下是详细步骤&#xff1a…...

Redis(5,jedis和spring)

在前面的学习中&#xff0c;只是学习了各种redis的操作&#xff0c;都是在redis命令行客户端操作的&#xff0c;手动执行的&#xff0c;更多的时候就是使用redis的api&#xff08;&#xff09;&#xff0c;进一步操作redis程序。 在java中实现的redis客户端有很多&#xff0c;…...

Git 小白入门教程

&#x1f3af; 这篇文章详细介绍了版本控制的重要性&#xff0c;特别是通过Git实现的分布式版本控制相对于SVN集中式控制的优势。文章首先解释了版本控制的基本概念&#xff0c;强调了在文档或项目多版本迭代中备份与恢复任意版本的能力。接着&#xff0c;重点阐述了Git的历史背…...

Python从0到100(八十五):神经网络与迁移学习在猫狗分类中的应用

在人工智能的浩瀚宇宙中&#xff0c;深度学习犹如一颗璀璨的星辰&#xff0c;引领着机器学习和计算机视觉领域的前沿探索。而神经网络&#xff0c;作为深度学习的核心架构&#xff0c;更是以其强大的数据建模能力&#xff0c;成为解决复杂问题的重要工具。今天&#xff0c;我们…...

代码随想录刷题day14(2)|(链表篇)02.07. 链表相交(疑点)

目录 一、链表理论基础 二、链表相交求解思路 三、相关算法题目 四、疑点 一、链表理论基础 代码随想录 二、链表相交求解思路 链表相交时&#xff0c;是结点的位置&#xff0c;也就是指针相同&#xff0c;不是结点的数值相同&#xff1b; 思路&#xff1a;定义两个指针…...

C++ 复习总结记录九

C 复习总结记录九 主要内容 1、list 介绍及使用 2、list 剖析及模拟实现 3、list 与 vector 对比 一 list 介绍及使用 List 相关文档 1、List 在任意位置进行插入和删除的序列式容器 O(1) &#xff0c;且该容器可前后双向迭代 2、List 底层是带头双向循环链表&#xff…...

数据库性能优化(sql优化)_SQL执行计划02_yxy

数据库性能优化_SQL执行计划详解02 常用操作符解读1.1 表扫描类型操作符1.1.1 CSCN 聚集索引扫描1.1.2 CSEK 聚集索引数据定位1.1.3 SSEK 二级索引数据定位1.1.4 SSCN 直接使用二级索引进行扫描1.2 其他常见操作符1.2.1 BLKUP 二次扫描1.2.2 SLCT 选择1.2.3 PRJT 投影1.2.4 NSE…...

Vivado生成X1或X4位宽mcs文件并固化到flash

1.生成mcs文件 01.在vivado里的菜单栏选择"tools"工具栏 02.在"tools"里选择"生成内存配置文件" 03.配置参数 按照FPGA板上的flash型号进行选型&#xff0c;相关配置步骤可参考下图。 注意&#xff1a;Flash数据传输位宽如果需要选择X4位宽&am…...

在K8S中使用Values文件定制不同环境下的应用配置详解

在Kubernetes&#xff08;简称K8s&#xff09;环境中&#xff0c;应用程序的配置管理是一项关键任务。为了确保应用程序在不同环境&#xff08;如开发、测试、预发布和生产&#xff09;中都能稳定运行&#xff0c;我们需要为每个环境定制相应的配置。Values文件是在使用Helm管理…...

边缘网关具备哪些功能?

边缘网关&#xff0c;又称边缘计算网关&#xff0c;部署在网络边缘&#xff0c;它位于物联网设备与云计算平台之间&#xff0c;充当着数据流动的“守门员”和“处理器”。通过其强大的数据处理能力和多样化的通信协议支持&#xff0c;边缘网关能够实时分析、过滤和存储来自终端…...

ThinkPHP 8 操作JSON数据

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...

环境变量配置与问题解决

目录 方法 配置了还是运行不了想要的东西 解决方案 为什么 解决方案 方法 方法一&#xff1a;此电脑右击-属性-相关链接-高级系统设置-环境变量&#xff08;N&#xff09;-系统变量里面找到Path-三个确定】 方法二&#xff1a;winr cmd 黑框输入sysdm.cpl&#xff0c;后面…...

pytorch2.5实例教程

以下是再次为你提供的一个详细的PyTorch使用教程&#xff1a; 一、安装PyTorch 环境准备 确保系统已安装合适版本的Python&#xff08;推荐3.10及以上&#xff09;。 安装方式 CPU版本 对于Linux和macOS&#xff1a; 使用命令 pip install torch torchvision torchaudio。 对…...

【开源免费】基于SpringBoot+Vue.JS智慧图书管理系统(JAVA毕业设计)

本文项目编号 T 152 &#xff0c;文末自助获取源码 \color{red}{T152&#xff0c;文末自助获取源码} T152&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

基于自然语言处理的垃圾短信识别系统

基于自然语言处理的垃圾短信识别系统 &#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 目录 设计题目设计目的设计任务描述设计要求输入和输出…...

Node.js HTTP模块详解:创建服务器、响应请求与客户端请求

Node.js HTTP模块详解&#xff1a;创建服务器、响应请求与客户端请求 Node.js 的 http 模块是 Node.js 核心模块之一&#xff0c;它允许你创建 HTTP 服务器和客户端。以下是一些关键知识点和代码示例&#xff1a; 1. 创建 HTTP 服务器 使用 http.createServer() 方法可以创建…...

Day 17 卡玛笔记

这是基于代码随想录的每日打卡 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组…...

深圳大学-智能网络与计算-实验一:RFID原理与读写操作

实验目的与要求 掌握超高频RFID标签的寻卡操作。掌握超高频RFID标签的读写操作。掌握超高频RFID标签多张卡读取时的防冲突机制。 方法&#xff0c;步骤 软硬件的连接与设置超高频RFID寻卡操作超高频RFID防冲突机制超高频RFID读写卡操作 实验过程及内容 一&#xff0e;软硬…...

⚡C++ 中 std::transform 函数深度解析:解锁容器元素转换的奥秘⚡【AI 润色】

在 C 编程的世界里&#xff0c;我们常常需要对容器中的元素进行各种转换操作。无论是将数据进行格式调整&#xff0c;还是对元素进行数学运算&#xff0c;高效的转换方法都是提升代码质量和效率的关键。std&#xff1a;&#xff1a;transform函数作为 C 标准库<algorithm &g…...

【miniconda】:langraph的windows构建

langraph需要python3.11 langraph强烈建议使用py3.11 默认是3.12 官方 下载仓库 下载老版本的python (后续发现新版miniconda也能安装老版本的python) 在这里...

(k8s)k8s部署mysql与redis(无坑版)

0.准备工作 在开始之前&#xff0c;要确保我们的节点已经加入网络并且已经准备好&#xff0c;如果没有可以去看我前面发表的踩坑与解决的文章&#xff0c;希望能够帮到你。 1.k8s部署redis 1.1目标 由于我们的服务器资源较小&#xff0c;所以决定只部署一个redis副本&#x…...

Git常用操作指令

初始化配置 # 配置全局用户名和邮箱 git config --global user.name "账号" git config --global user.email "邮箱"# 查看配置信息 git config --list仓库初始化创建新的 Git 仓库&#xff1a; # 初始化新仓库 git init# 克隆远程仓库 git clone URL状态…...

新手理解:Android 中 Handler 和 Thread.sleep 的区别及应用场景

新手理解&#xff1a;Android 中 Handler 和 Thread.sleep 的区别及应用场景 Handler 是啥&#xff1f;Handler 的几个核心功能&#xff1a; Thread.sleep 是啥&#xff1f;Thread.sleep 的核心特点&#xff1a; 两者的区别它们的应用场景1. Handler 的应用场景2. Thread.sleep…...

智能安全策略-DPL

一、华三防火墙-接口的概念。 1、接口。 1. 什么是接口&#xff1f; 接口就像是防火墙的“门”&#xff0c;用来连接不同的网络设备&#xff0c;比如电脑、路由器、服务器等。通过这些“门”&#xff0c;数据&#xff08;比如网页、视频、文件&#xff09;才能进出防火墙。 …...

差分进化算法 (Differential Evolution) 算法详解及案例分析

差分进化算法 (Differential Evolution) 算法详解及案例分析 目录 差分进化算法 (Differential Evolution) 算法详解及案例分析1. 引言2. 差分进化算法 (DE) 算法原理2.1 基本概念2.2 算法步骤3. 差分进化算法的优势与局限性3.1 优势3.2 局限性4. 案例分析4.1 案例1: 单目标优化…...

Alibaba Spring Cloud 十七 Sentinel熔断降级

概述 在微服务架构中&#xff0c;熔断与降级是保证系统稳定性的重要机制&#xff0c;能有效防止故障蔓延或雪崩效应。当某个服务出现异常、延迟过高或错误率过高时&#xff0c;触发熔断保护&#xff0c;将该服务“隔离”一段时间&#xff0c;避免影响整体系统的吞吐和可用性。 …...

LetsWave脑电数据简单ERP分析matlab(一)

LetsWave是基于matlab的一款工具包&#xff0c;类似eeglab&#xff0c;也可以对数据进行预处理。习惯使用eeglab做数据预处理的&#xff0c;可以先在eeglab中做预处理&#xff0c;然后可以保存为*.set格式&#xff0c;最后在letswave中画图。 letswave下载地址&#xff1a;htt…...

设计模式Python版 工厂方法模式

文章目录 前言一、工厂方法模式二、工厂方法模式示例三、工厂方法模式客户端改进四、工厂方法模式隐藏工厂方法&#xff08;可选&#xff09; 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方…...