前端基础几大件

news2024/12/23 18:44:45

文章目录

    • HTML
    • CSS
    • JavaScript
    • Ajax
    • Axios(第三方库,专门用于请求数据)
    • SpringBoot单例模式与前端异步请求

HTML

在HTML当中,一切都是节点Object:(非常重要)
整个Html文档就是一个DOM文档节点。所有的节点都是Object。
操作元素节点,必须首先找到该节点。
文档
– 文档表示的就是整个的HTML网页文档
整个HTML文档document对象作为window对象的属性存在的,我们不用获取可以直接使用
对象
– 对象表示将网页中的每一个部分都转换为了一个对象。
模型
– 使用模型来表示对象之间的关系,这样方便我们获取对象

HTML(超文本标记语言)是用于构建网页结构的标记语言,它由一系列的标签组成,用于定义网页的内容、布局和样式。DOM(文档对象模型)是浏览器提供的一种编程接口,它将网页的结构以对象的形式表示,使 JavaScript 能够与网页进行交互。

  • DOM是JS操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将静态html网页转为一个JS对象,从而可以用脚本进行各种动态操作(比如增删内容)
  • DOM提供了一种表述形式将文档作为一个结构化的节点组以及包含属性和方法的对象。 从本质上说,它将web页面和脚本或编程语言连接起来了。 静态变为动态:
    var div = document.getElementById(‘div1’);DOM将html静态组件转化为可操作的js对象
  • 严格地说,DOM不属于JS,但是操作DOM是JS最常见的任务,而JS也是最常用于DOM操作的语言。DOM是浏览器厂商提供的js操作html的api,不同的浏览器厂商提供的api可能不同,所以dom存在兼容性问题(少部分)

HTML 和 DOM 之间的联系如下:

  1. HTML 定义网页结构和内容:HTML 通过标签来定义网页的结构和内容,例如 <div><p><h1> 等。HTML 标签可以包含属性,用于指定元素的特定属性或行为。

  2. 浏览器解析 HTML:当浏览器加载 HTML 文件时,它会解析 HTML 代码并构建 DOM 树。浏览器根据 HTML 标签和属性的定义,将 HTML 文档转换为具有层级结构的 DOM 元素。

  3. JavaScript 操作 DOM:JavaScript 可以通过 DOM 接口来访问和操作 HTML 元素。通过 JavaScript,可以获取、修改、添加或删除 DOM 元素、属性和内容,从而实现与网页的交互和动态效果。

    例如,可以使用 JavaScript 通过 DOM 操作来获取元素、修改元素样式、添加事件监听器等:

    // 获取元素
    const element = document.getElementById('my-element');
    
    // 修改样式
    element.style.color = 'red';
    
    // 添加事件监听器
    element.addEventListener('click', () => {
      console.log('Element clicked');
    });
    
  4. HTML 和 JavaScript 的交互:通过 JavaScript,可以响应用户的操作,根据用户的输入或事件触发相应的处理逻辑。JavaScript 可以修改 DOM 元素的内容、样式、结构等,从而实现动态的网页效果和交互功能。

总结来说,HTML 定义了网页的结构和内容,DOM 提供了 JavaScript 访问和操作网页的接口,JavaScript 利用 DOM 可以实现网页的交互和动态效果。HTML、DOM 和 JavaScript 三者之间紧密配合,共同构建了现代网页的功能和体验。
在这里插入图片描述

CSS

在前端开发中,可以使用 CSS(层叠样式表)来定义网页的样式和布局。以下是使用 CSS 的一般步骤:

  1. 创建 CSS 文件:创建一个新的 CSS 文件,通常以 .css 作为文件扩展名。可以在 HTML 文件中使用 <link> 标签将 CSS 文件链接到网页中,或者在 HTML 文件中使用 <style> 标签直接编写 CSS。

  2. 选择器和样式规则:使用 CSS 选择器来选择需要应用样式的 HTML 元素。可以使用元素选择器(如 divp)、类选择器(以 . 开头,如 .my-class)、ID 选择器(以 # 开头,如 #my-id)等选择器来定位元素。然后,在样式规则中定义要应用的样式,例如设置元素的颜色、背景、字体等。

    例如:

    /* CSS 文件中的样式规则 */
    h1 {
      color: blue;
      font-size: 24px;
    }
    
    .my-class {
      background-color: yellow;
    }
    
    #my-id {
      font-weight: bold;
    }
    
  3. 应用样式:在 HTML 文件中使用 CSS 类名、ID 或元素选择器来应用样式。可以将类名添加到 HTML 元素的 class 属性中,将 ID 添加到 id 属性中,或者直接在元素标签中使用元素选择器。

    例如:

    <!-- HTML 文件中的元素 -->
    <h1>标题</h1>
    <div class="my-class">这是一个 div 元素</div>
    <p id="my-id">这是一个带有 ID 的段落</p>
    

    上述代码中,<h1> 元素将应用 CSS 文件中定义的 h1 样式规则,<div> 元素将应用 my-class 类的样式规则,<p> 元素将应用 my-id ID 的样式规则。

这只是 CSS 的基本用法示例,实际应用中还有更多的 CSS 属性和选择器可以使用。CSS 还支持层叠、继承、盒模型等特性,可以通过组合选择器、使用伪类和伪元素等方式来选择更具体的元素。

通过合理运用 CSS,可以实现丰富多样的网页样式和布局效果。

JavaScript

JS–封装库–>jQuery

  • 标签响应
  <script type="text/javascript"></script> 		

script 一般引入的是 JAVASCRIPT脚本 eg: < script src=“js/jquery-1.11.3.js”>< /script>
因此,引入jQuery,只能用script引入而不能用link引入

  • TS

TypeScript是JavaScript的超集
TypeScript可以编译成标准的JavaScript,任何一种JavaScript运行环境下的应用程序(浏览器、node、react、Native、electron),都可以使用TypeScript去开发。

Ajax

ajax异步发送http请求,同时请求初始化页面的全部信息。

  • (Asynchronous JavaScript and XML)是一种利用 JavaScript 和 XML实现异步通信的技术。Ajax 的核心是利用 XMLHttpRequest对象实现异步请求,它可以在不重新加载整个页面的情况下向服务器请求数据,从而使得网页可以更加流畅地交互。

  • 页面的所有ajax请求都是异步无关的,不需要一个一个排队触发再解析绑定数据,当存在多个请求在同一个方法内时,全部同时触发然后各自处理对应响应。

Axios(第三方库,专门用于请求数据)

  • Axios和Ajax都是用于浏览器端和服务器进行数据交互的技术。
  • Axios和Ajax都是用于向服务器发送HTTP请求并接收响应的客户端JavaScript库
  • 它们都可以发送HTTP请求和接收HTTP响应,用于获取或提交数据。
  • Axios比Ajax更强大和灵活,并且在处理HTTP请求时更加容易和高效。

区别

  • Axios是基于Promise的,支持异步操作,而Ajax通常是基于回调函数的。
  • Axios可以自动将响应数据转换为JSON格式,而Ajax需要手动解析。
  • Axios可以处理HTTP错误,例如自动重试请求,而Ajax需要手动处理HTTP错误。
  • Axios可以在请求和响应中使用拦截器,而Ajax不能。
  • Axios可以取消请求,而Ajax不能。
  • Axios可以用于浏览器和Node.js环境,而Ajax只能在浏览器中使用。

相同

  • 都能发送异步请求和处理响应;
  • 都可以设置请求头和请求参数;
  • 都能够处理各种类型的数据,如JSON、XML、文本等;
  • 都支持Promise API。

Axios比Ajax更强大和灵活,并且在处理HTTP请求时更加容易和高效。
原始axios完整版请求写法
headers中包含验证信息等
‘token’:localStorage.getItem(“token”),

  • post
axios({
  method: 'post',
  url: '',
  data: {
    key:value
  },
  headers: {
    'token':localStorage.getItem("token"),
    'Content-Type': 'application/json'
  },
  responseType: 'json'
}).then(res=>{
	console.log(res.data)
})

  • get
axios({
  method: 'get',
  url: '',
  headers: {
    'token':localStorage.getItem("token"),
    'Content-Type': 'application/json'
  },
  responseType: 'json'
}).then(res=>{
	console.log(res.data)
})

SpringBoot单例模式与前端异步请求

前端Ajax异步请求,后端多线程响应。
单例模式和多例模式最大的逻辑区别就是对于变量的是否共享、相互干涉问题,单例模式但是多线程处理。
Spring Boot 的单例模式可以同时处理多个 URL 请求。在 Spring Boot 中,控制器(Controller)是单例模式的,但是可以同时处理多个请求。这是因为 Spring Boot 使用多线程处理请求,每个请求都会创建一个新的线程。这些线程是相互独立的,它们可以同时运行不同的控制器方法,从而处理多个请求。

在处理多个 URL 请求时,控制器中的方法应该是线程安全的,不应该使用类成员变量或共享状态。如果需要使用共享状态,可以使用线程安全的方式来实现,例如使用 Java 并发包中的锁或原子变量。

总之,Spring Boot 的单例模式可以同时处理多个 URL 请求,但需要注意线程安全和并发访问的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

26 strcpy 的调试

前言 同样是一个 很常用的 glibc 库函数 不管是 用户业务代码 还是 很多类库的代码, 基本上都会用到 字符串的复制 不过 我们这里是从 具体的实现 来看一下 它的实现 主要是使用 汇编 来进行实现的, 因此 理解需要一定的基础 测试用例 就是简单的使用了一下 strcpy, s…

推进印度制造受挫,苹果仍踢出13家中国企业,一条道走到黑?

苹果公布了2022年的供应商名单&#xff0c;让人惊讶的是苹果将13家中国供应商踢出了供应链&#xff0c;而美国、日本的供应商却有所增加&#xff0c;似乎苹果仍然在降低对中国制造的依赖&#xff0c;这对于苹果来说未必是好事。 一、苹果的印度制造计划受挫 数年前苹果推动印度…

深度学习在金融领域的十大应用算法【附Python代码】

引言 随着金融数据的不断增长和复杂化&#xff0c;传统的统计方法和机器学习技术面临着挑战。深度学习算法通过多层神经网络的构建&#xff0c;以及大规模数据的训练和优化&#xff0c;可以从数据中提取更加丰富、高级的特征表示&#xff0c;从而提供更准确、更稳定的预测和决策…

chatgpt赋能python:如何用Python创建一个九宫格

如何用Python创建一个九宫格 作为一种流行的编程语言&#xff0c;Python可以用于各种各样的项目。这篇文章将介绍如何使用Python创建一个九宫格布局&#xff0c;并展示如何在网页优化&#xff08;SEO&#xff09;中使用它。在本文中&#xff0c;我们将使用Python 3和Flask框架…

如何衡量客户对产品的推荐意愿?

如何衡量客户对产品的推荐意愿&#xff1f;净推荐值 趣讲大白话&#xff1a;衡量客户对你好不好 【趣讲信息科技184期】 **************************** 净推荐值(Net Promoter Score,简称NPS)是一种衡量客户忠诚度和推荐意愿的指标。 净推荐值的计算公式为&#xff1a; NPS (…

flex+margin布局方法

方式&#xff1a;【具体代码1】 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"…

全志V3S嵌入式驱动开发(串口驱动)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 全志V3S支持三个串口&#xff0c;但是因为其中UART1的pin和其他功能是复用的&#xff0c;所以这个时候一般只用UART0和UART2。当然我们在linux开发…

Hive---5、分区表和分桶表

1、分区表和分桶表 1.1 分区表 Hive中的分区就是把一张大表的数据按照业务需求分散的存储到多个目录&#xff0c;每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区&#xff0c;这样的查询效率会提高很多。 1.1.1 分区表基本语法 1、创建…

scratch舞蹈演出 中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析2023年5月

目录 scratch舞蹈演出 一、题目要求 1、准备工作 2、功能实现 二、案例分析

Spring MVC的高级功能(异常处理器,拦截器,文件操作)

目录&#xff1a; 异常处理拦截器文件上传和下载 1.异常处理&#xff08;简单异常处理&#xff0c;自定义异常处理&#xff0c;异常处理注解&#xff09; 简单异常处理器 HandlerExceptionResolver接口 如果希望对Spring MVC中所有异常进行统一处理&#xff0c;可以使用S…

【Spring】——Spring的创建与使用

目录 一、传统程序开发与控制反转&#x1f36d; 1、传统程序开发&#x1f349; 传统程序开发的缺陷&#x1f353; 解决传统开发中的缺陷&#x1f353; 2、控制反转思维程序开发&#x1f349; 3 对比总结规律&#x1f349; 二、Spring创建与使用&#x1f36d; 1、创建Sp…

js解构记录

1.字符串结构 1.1 字符串转数组 1.2 字符串转成变量 1.3 结构字符串的属性 2. 数组结构 2.1 交换变量 2.2 允许指定默认值 只有赋值为undefined时默认值才生效&#xff0c;及时赋值null都不好使&#xff0c;会赋值为null 对是否是默认值在后面没有要求 3、对象结构 3.1 结…

spring cloud搭建(feign)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

I.MX RT1170加密启动详解(2):HAB认证原理

文章目录 1 基础2 使能过程3 Boot flow 1 基础 HAB认证是基于RSA或ECDSA算法的公钥密码学&#xff0c;它用一系列的私钥对image进行加密&#xff0c;然后BootROM在上电后用对应的公钥验证加密的镜像是否被修改。这个密钥结构就是PKI(Public Key Infrastructure)树 (1)normal …

DTU助力气象行业数字化转型,让数据更智能

近年来&#xff0c;随着社会的不断发展&#xff0c;气象行业在现代社会中扮演着极为重要的角色。天气对于人们的日常生活、农业、交通运输等方方面面都有着深远的影响。然而&#xff0c;在数据采集与监测过程中&#xff0c;气象行业也面临着一些问题。不准确的数据、不稳定的传…

基于simulink仿真无人机比赛场景

一、前言 展示了如何使用虚拟碰撞传感器以交互方式控制仿真&#xff0c;以及如何使用 Simulink3D 动画更改虚拟世界对象的外观。该示例表示一个简单的无人机 &#xff08;UAV&#xff09; 挑战。无人机比赛场景基于2013年在法国图卢兹举行的IMAV飞行比赛。 穿越窗口 降落直升机…

java基于springboot+vue的在线教育课程作业网站n5138

本基于springboot的在线教育网站的设计与实现有管理员&#xff0c;教师和学生三个角色。管理员功能有个人中心&#xff0c;教师管理&#xff0c;科目管理&#xff0c;学生管理&#xff0c;课程信息管理&#xff0c;课程作业管理&#xff0c;学生作业管理&#xff0c;学生成绩管…

Ubuntu下让matplotlib显示中文字体

文章目录 安装中文字体显示matplotlib库的字体文件夹删除matplotlib 的缓存文件&#xff08;可选&#xff09; matplotlib中设置字体&#xff0c;显示&#xff01; 参考文章&#xff1a; https://zodiac911.github.io/blog/matplotlib-chinese.html Ubuntu下python的matplotli…

七篇深入理解机器学习和深度学习的读物推荐

在这篇文章中将介绍7篇机器学习和深度学习的论文或者图书出版物&#xff0c;这些内容都论文极大地影响了我对该领域的理解&#xff0c;如果你想深入了解机器学习的内容&#xff0c;哪么推荐阅读。 Attention Is All You Need 在自然语言处理和序列建模领域&#xff0c;Vaswani…

华为OD机试真题 Java 实现【水仙花数】【2022Q4 100分】

一、题目描述 所谓水仙花数&#xff0c;是指一个n位的正整数&#xff0c;其各位数字的n次方和等于该数本身。 例如153是水仙花数&#xff0c;153是一个3位数&#xff0c;并且153 1^3 5^3 3^3。 二、输入描述 第一行输入一个整数n&#xff0c;表示一个n位的正整数。n在3到…