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

JS学习日记(jQuery库)

   前言

今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具

介绍

jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“write less,do more”,即倡导写更少的代码,做更多的事,它封装JavaScript常用的功能代码,提供一种简便的方式进行使用,大大提高了开发效率,jQuery目前支持的浏览器包括Chrome,edge,firefox,ie9+,Safari,Oper等。

jQuery的优势:

1.轻量级:jQuery非常轻巧,压缩后只有30kb

2.强大的选择器,jQuery支持css1.0到3.0的几乎所有选择器以及jQuery自定义的选择器

3.出色的DOM封装,jQuery封装了大量常用的DOM操作,开发者无需关心细节轻松上手使用

4.jQuery有着可靠的事件处理机制

5.出色的浏览器兼容

6.链式操作方式

7.丰富的插件支持

8.完善的文档

9.最重要的一点,它是开源的

搭建开发环境

工欲善其事,必先利其器,我们先学会如何搭建jQuery的开发环境,首先,它并不需要安装,只需把jQuery文件放在网站上一个公共的位置,在页面使用时,直接通过script标签进行引入

jQuery获取方法:

1.官网下载

2.使用CDN的形式载入jQuery

jQuery官网:http://jquery.com/

后续就是一点开发版(未压缩)和发布版(有压缩)的区别了,这里没有太大区别,这里就不过多赘述

CDN方式

如果不希望下载jQuery,则可以使用CDN的方式载入jQuery:

Google CDN:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

jQuery官方CDN:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

百度:

<script src="https://apps.bdimg.com/libs/jquery/3.6.0/jquery.min.js"></script>

阿里云CDN:

<script src="https://lib.aliyun.com/js/jquery-3.6.0.min.js"></script>

 在HTML中引入jQuery

将选定的CDN链接添加到HTML文件的<head><body>标签中。通常建议在<head>标签中引入,以便在页面加载时尽早加载jQuery:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>使用jQuery CDN</title><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script><!-- 其他头部内容 -->
</head>
<body><!-- 页面内容 --><script>$(document).ready(function(){// 在这里编写使用jQuery的代码console.log("jQuery已加载,版本:" + $.fn.jquery);});</script>
</body>
</html>

注意事项

  • 版本选择: 根据项目需求选择合适的jQuery版本。较新的版本通常包含更多功能和更好的性能,但可能不兼容旧浏览器。
  • 缓存策略: 使用CDN可以提高加载速度,因为许多用户可能已经缓存了相同的jQuery文件。
  • 安全性: 确保从可信的CDN提供商获取jQuery文件,以避免潜在的安全风险

webAPI与jQuery的区别

1. jQuery的适用性

  • 简化DOM操作和事件处理

    • jQuery在早期Web开发中非常流行,因为它简化了复杂的JavaScript操作,如DOM选择、事件处理和动画效果。这使得开发者能够更快速地构建动态网页。
    • 然而,现代JavaScript(ES6及以上版本)已经引入了许多新特性,如querySelectoraddEventListenerfetch等,这些功能在很大程度上替代了jQuery的核心功能。
  • 浏览器兼容性

    • jQuery的一个重要优势是其跨浏览器的兼容性,解决了不同浏览器之间的兼容性问题。然而,现代浏览器对JavaScript的支持已经非常完善,许多jQuery的功能在原生JavaScript中也能很好地工作。
  • 社区和生态系统

    • 尽管jQuery仍然有庞大的用户基础和丰富的插件生态系统,但近年来,许多开发者转向使用更现代的框架和库(如React、Vue.js、Angular等),这使得jQuery的社区活跃度有所下降。
  • 适用场景

    • 如果项目需要快速开发简单的网页应用,或者需要兼容非常旧的浏览器,jQuery仍然是一个不错的选择。
    • 然而,对于大型、复杂的单页应用(SPA),jQuery可能显得力不从心。

2. Web API的适用性

  • 构建RESTful服务

    • Web API主要用于构建RESTful服务,提供数据接口供前端应用调用。它是前后端分离架构的核心部分。
    • 现代Web应用通常采用前后端分离的模式,前端使用JavaScript框架(如React、Vue.js)构建用户界面,后端通过Web API提供数据服务。
  • 跨平台和跨语言支持

    • Web API基于HTTP协议,使用JSON或XML格式进行数据传输,具有良好的跨平台和跨语言支持。这使得Web API可以轻松地与其他系统和服务集成。
  • 可扩展性和维护性

    • Web API具有良好的可扩展性和维护性。通过定义清晰的接口规范,可以方便地扩展功能和维护代码。
    • 使用Web API可以更好地组织代码结构,提高开发效率和代码质量。
  • 适用场景

    • 对于需要构建复杂、动态的Web应用,特别是需要与多个服务或系统集成的应用,Web API是必不可少的。
    • 现代Web开发中,Web API广泛应用于单页应用(SPA)、移动应用、桌面应用等场景。

3. 比较与选择

  • 功能定位不同

    • jQuery是一个前端库,专注于简化JavaScript开发;而Web API是一个后端工具,用于构建数据接口。
    • 两者在功能和应用场景上有明显的区别,不能直接比较谁更“适合”现代Web开发,因为它们解决的问题不同。
  • 现代开发趋势

    • 现代Web开发越来越倾向于前后端分离的架构,前端使用JavaScript框架(如React、Vue.js)构建用户界面,后端通过Web API提供数据服务。
    • 在这种架构下,Web API是不可或缺的,而jQuery的使用则逐渐减少。
  • 选择建议

    • 如果项目需要构建复杂、动态的Web应用,特别是需要前后端分离的架构,建议使用Web API来构建后端服务。
    • 如果项目需要快速开发简单的网页应用,或者需要兼容非常旧的浏览器,可以考虑使用jQuery。
    • 对于大多数现代Web开发项目,建议使用更现代的JavaScript框架(如React、Vue.js)和Web API来构建应用。

4. 结论

在现代Web开发中,Web API是构建后端服务和数据接口的核心工具,适用于大多数需要前后端分离的应用场景。而jQuery虽然仍然有其应用场景,但在现代开发中逐渐被更现代的JavaScript框架和库所取代。因此,从整体上看,Web API更适合现代Web开发的需求。

如果项目需要构建复杂、动态的Web应用,建议优先考虑使用Web API,并结合现代前端框架(如React、Vue.js)来实现最佳的开发效果。

这篇日记已经被你看完了!

相关文章:

JS学习日记(jQuery库)

前言 今天先更新jQuery库的介绍&#xff0c;它是一个用来帮助快速开发的工具 介绍 jQuery是一个快速&#xff0c;小型且功能丰富的JavaScript库&#xff0c;jQuery设计宗旨是“write less&#xff0c;do more”&#xff0c;即倡导写更少的代码&#xff0c;做更多的事&#xf…...

Uni-APP+Vue3+鸿蒙 开发菜鸟流程

参考文档 文档中心 运行和发行 | uni-app官网 AppGallery Connect DCloud开发者中心 环境要求 Vue3jdk 17 Java Downloads | Oracle 中国 【鸿蒙开发工具内置jdk17&#xff0c;本地不使用17会报jdk版本不一致问题】 开发工具 HBuilderDevEco Studio【目前只下载这一个就…...

Linux的基本用法

Linux的基本用法涵盖多个方面&#xff0c;包括用户登录、系统操作、文件和目录管理、系统工具使用等。以下是对Linux基本用法的详细介绍&#xff1a; 一、用户登录与系统操作 用户登录 普通用户登录&#xff1a;选择用户名并输入密码。超级用户&#xff08;root&#xff09;登…...

如何找出爬取网站的来源IP呢?

1.背景 最近网站数据库性能很不稳定&#xff0c;查询性能在某段时间很慢&#xff0c;服务器CPU也很高&#xff0c;平常时间很低&#xff0c;感觉被爬虫恶意搞了&#xff0c;因此我分析了一下最近的nginx访问日志 2.方法 找出访问量最大20个ip [root100 nginx]# cat liuhaih…...

Java爬虫(Jsoup)详解

文章目录 Java爬虫&#xff08;Jsoup&#xff09;详解一、引言二、Jsoup 快速入门1、Jsoup 简介1.1、添加依赖 2、解析 HTML 文档2.1、解析 HTML 字符串2.2、从 URL 加载 Document2.3、解析 body 片断 三、数据抽取1、使用 DOM 方法遍历文档3.1、获取元素 2、使用选择器语法查找…...

力扣周赛:第424场周赛

&#x1f468;‍&#x1f393;作者简介&#xff1a;爱好技术和算法的研究生 &#x1f30c;上期文章&#xff1a;力扣周赛&#xff1a;第422场周赛 &#x1f4da;订阅专栏&#xff1a;力扣周赛 希望文章对你们有所帮助 第一道题模拟题&#xff0c;第二道题经典拆分数组/线段树都…...

预处理(1)(手绘)

大家好&#xff0c;今天给大家分享一下编译器预处理阶段&#xff0c;那么我们来看看。 上面是一些预处理阶段的知识&#xff0c;那么明天给大家讲讲宏吧。 今天分享就到这里&#xff0c;谢谢大家&#xff01;&#xff01;...

利用OpenAI进行测试需求分析——从电商网站需求到测试用例的生成

在软件测试工程师的日常工作中&#xff0c;需求分析是测试工作中的关键步骤。需求文档决定了测试覆盖的范围和测试策略&#xff0c;而测试用例的编写往往依赖于需求的准确理解。传统手工分析需求耗时长&#xff0c;尤其在面对大量需求和复杂逻辑时容易遗漏细节。本文将以电商网…...

深入探索:Scrapy深度爬取策略与实践

标题&#xff1a;深入探索&#xff1a;Scrapy深度爬取策略与实践 引言 在数据驱动的时代&#xff0c;深度爬取成为了获取丰富信息的重要手段。Scrapy&#xff0c;作为一个强大的Python爬虫框架&#xff0c;提供了多种工具和设置来帮助我们实现深度爬取。本文将详细介绍如何在…...

《生成式 AI》课程 第3講:訓練不了人工智慧嗎?你可以訓練你自己

资料来自李宏毅老师《生成式 AI》课程&#xff0c;如有侵权请通知下线 Introduction to Generative AI 2024 Spring 摘要 这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的&#xff0c;共包含十个作业。每个作业都对应一个具体的主题&#xff0c;例如真假难辨的世界…...

如何编译 Cesium 源码

如何编译 Cesium 源码 Cesium 是一个开源的 JavaScript 库&#xff0c;用于构建 3D 地球和地图应用程序。它提供了一套强大的 API 和工具&#xff0c;使开发者能够创建丰富的地理空间应用。本文将指导您如何从 GitHub 下载 Cesium 源码&#xff0c;并在本地进行编译。 TilesB…...

前端开发设计模式——责任链模式

目录 一、定义和特点 1. 定义 2. 特点 二、实现方式 定义抽象处理者&#xff08;Handler&#xff09;类 创建具体处理者&#xff08;ConcreteHandler&#xff09;类 构建责任链 以下是一个用 JavaScript 实现的示例&#xff1a; 三、应用场景 1. 表单验证 2. 请求处…...

JavaWeb--MySQL

1. MySQL概述 首先来了解一下什么是数据库。 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 像我们日常访问的电商网站京东&#xff0c;企业内部的管理系统OA、ERP、CRM这类的系统&#xff0c;以及大家每天都会刷的头条、抖音…...

Python | Leetcode Python题解之第564题数组嵌套

题目&#xff1a; 题解&#xff1a; class Solution:def arrayNesting(self, nums: List[int]) -> int:ans, n 0, len(nums)for i in range(n):cnt 0while nums[i] < n:num nums[i]nums[i] ni numcnt 1ans max(ans, cnt)return ans...

Spring Boot教程之Spring Boot简介

Spring Boot 简介 接下来一段时间&#xff0c;我会持续发布并完成Spring Boot教程 Spring 被广泛用于创建可扩展的应用程序。对于 Web 应用程序&#xff0c;Spring 提供了 Spring MVC&#xff0c;它是 Spring 的一个广泛使用的模块&#xff0c;用于创建可扩展的 Web 应用程序。…...

Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南

概述 随着人工智能技术的迅猛发展&#xff0c;多模态模型在各类应用场景中展现出强大的潜力和广泛的适用性。Qwen2-VL 作为最新一代的多模态大模型&#xff0c;融合了视觉与语言处理能力&#xff0c;旨在提升复杂任务的执行效率和准确性。本指南聚焦于 Qwen2-VL 在三个关键领域…...

【安全科普】NUMA防火墙诞生记

一、我为啥姓“NUMA” 随着网络流量和数据包处理需求的指数增长&#xff0c;曾经的我面对“高性能、高吞吐、低延迟”的要求&#xff0c;逐渐变得心有余而力不足。 多CPU技术应运而生&#xff0c;SMP&#xff08;对称多处理&#xff09;和NUMA&#xff08;非一致性内存访问&a…...

机器学习day2-特征工程

四.特征工程 1.概念 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 将任意数据&#xff08;文本或图像等&#xff09;转换为数字特征&#xff0c;对特征进行相关的处理 步骤&#xff1a;1.特征提取&#xff1b;2.无量纲化&#xff08;预处理&#xf…...

Python数据分析NumPy和pandas(三十五、时间序列数据基础)

时间序列数据是许多不同领域的结构化数据的重要形式&#xff0c;例如金融、经济、生态学、神经科学和物理学。在许多时间点重复记录的任何内容都会形成一个时间序列。许多时间序列是固定频率的&#xff0c;也就是说&#xff0c;数据点根据某些规则定期出现&#xff0c;例如每 1…...

Python 小高考篇(6)常见错误及排查

目录 TypeError拼接字符串和数字错误示范正确示范 数字、字符串当成函数错误示范 给函数传入未被定义过的参数错误示范 传入的参数个数不正确错误示范 字符串相乘错误示范正确示范 量取整数的长度错误示范正确示范 格式化字符串时占位符个数不正确错误示范 给复数比较大小错误示…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...