前端高频面试题1:HTML/CSS/浏览器/计算机网络

目录

1.为什么会出现margin塌陷?

2.如何解决margin塌陷?

3.HTML5有哪些新特性?

4.常见的语义化标签有哪些?语义化标签的好处?

5.使用css和js做动画有何优劣

6.如何实现文本超出展示省略号

7.deep在css中存在吗?

8.xhtml和html的区别

 9.script标签中defer和async的区别

10.什么是强缓存、协商缓存? 

 11.Cookie、Session、LocalStorage、SessionStorage的区别

12. 输入一个URL到页面过程中发生了什么

13. DNS解析的过程 

14.Cookie有哪些配置项 



1.为什么会出现margin塌陷?

  • 设计初衷 CSS规范中设定Margin塌陷是为了简化内容排版。例如,段落(<p>)默认有上下外边距,若多个段落垂直排列,合并外边距可使间距更自然(如两个margin: 20px的段落间距仍为20px,而非40px)。

  • 触发条件

    • 相邻兄弟元素:垂直排列的两个块级元素,上下边距相遇时合并。

    • 父元素与子元素:父元素无边框、内边距或内容阻隔时,第一个/最后一个子元素的margin可能与父元素的margin合并。

    • 空块级元素:无内容、内边距、边框的元素,上下边距会合并。

补充:Margin塌陷的规则

  • 合并后的值:取两个margin中的较大值。若一正一负,则取两者之和;若均为负,取绝对值较大者。

  • 仅限垂直方向:水平方向的外边距不会合并。

  • 仅块级元素:行内元素、浮动元素、绝对定位元素不会触发。


2.如何解决margin塌陷?

  • 添加阻隔

    • 给父元素设置borderpadding(即使border: 1px solid transparent)。

    • 在相邻元素间添加内容或注释(如<div style="content: ''"></div>)。

  • 触发BFC(块级格式化上下文) BFC会阻止内部元素与外部元素的Margin合并。触发方式:

    • 设置父元素overflow: hidden/auto

    • 使用display: flow-root(推荐,无副作用)。

    • 设置float: left/rightposition: absolute/fixed

  • 避免空元素 为空元素添加paddingheight或最小高度min-height

  • 替代方案

    • 使用padding代替margin。

    • 使用Flex或Grid布局,避免传统盒模型的Margin合并。

3.HTML5有哪些新特性?

  1. 语义化标签

  2. 媒体标签(<video>和<audio>)

  3. 图形动画(Canvas和svg)

  4. 表单增强

    1. 新输入类型emailurlnumberdaterangesearch 等。

    2. 新属性

      • placeholder:输入框提示文本。

      • required:必填字段验证。

      • autocomplete:自动填充建议。

      • pattern:正则表达式验证。

  5. 本地存储

    1. Web Storage:客户端存储数据,替代 Cookie。

      • localStorage:永久存储,直到手动清除。

      • sessionStorage:会话期间存储,关闭标签页后失效。

    2. IndexedDB:浏览器端非关系型数据库,支持大量数据存储。

  6. 拖放 API

  7. 通信与实时交互

    1. WebSocket:全双工通信协议,支持实时数据传输(如聊天应用)。

    2. WebRTC:浏览器间直接音视频通信(如视频会议)。

4.常见的语义化标签有哪些?语义化标签的好处?

  • 语义化标签:

    • <header><footer>:页眉和页脚。

    • <nav>:导航栏。

    • <article>:独立内容块(如博客文章)。

    • <section>:文档中的逻辑分区。

    • <aside>:侧边栏或附加内容。

    • <main>:页面主要内容区域。

    • <figure><figcaption>:媒体内容及其标题。

  • 好处:

    • 提升 SEO(搜索引擎优化)

    • 增强可访问性(Accessibility)

    • 提高代码可读性与维护性

5.使用css和js做动画有何优劣

实现原理
  • CSS Transform/Animation

    • 浏览器优化机制:通过 CSS 的 transformanimation 实现的动画,浏览器会在合成器线程(Compositor Thread)中处理,跳过主线程的布局(Layout)和绘制(Paint)阶段。

    • 硬件加速:transformopacity 属性的动画会被浏览器自动优化,触发 GPU 加速(通过 will-changetranslateZ 进一步强化),生成独立的合成层(Composite Layer),避免重排(Reflow)和重绘(Repaint)。

    • 声明式语法:通过 @keyframestransition 定义动画,浏览器自动插值计算中间帧。

  • JavaScript 动画


    • 逐帧控制:通常通过 requestAnimationFrame 或定时器(如 setInterval)逐帧修改元素的属性(如 leftwidthtransform 值)。

    • 主线程依赖:大多数属性修改(如 widthmargin)会触发重排和重绘,这些操作在主线程执行,可能被其他任务阻塞,导致卡顿。

    • 手动优化:开发者需要自行处理性能优化,例如批处理 DOM 操作、使用 transform 替代布局属性等。

性能对比
特性​​​​CSS Transform/Animation​​​​JavaScript 动画​​
​​线程执行​​合成器线程(独立于主线程)主线程(可能被阻塞)
​​重排/重绘​​无(仅合成阶段)可能触发(依赖修改的属性)
​​GPU 加速​​自动优化需手动触发(如使用 transform)
​​帧率稳定性​​高(浏览器优化)低(依赖代码质量)
优缺点对比
  • CSS 动画的优点:

    • 高性能:浏览器自动优化,适合简单动画(如平移、旋转、缩放)。

    • 代码简洁:声明式语法实现动画更简单(如 transition: transform 0.3s ease)。

    • 流畅性:独立于主线程运行,不受 JavaScript 任务阻塞

  • CSS 动画的缺点:

    • 控制能力弱:难以实现复杂逻辑(如弹性动画、路径跟随)。

    • 调试困难:动态修改参数需要覆盖 CSS 类或内联样式。

  • JavaScript 动画的优点:

    • 精细控制:适合复杂动画(如物理效果、逐帧滚动、游戏动画)。

    • 灵活交互:动态调整动画参数(如暂停、反转、实时响应事件)。

  • JavaScript 动画的缺点:

    • 性能风险:不当使用易导致卡顿(如频繁修改布局属性)。

    • 开发成本高:需手动优化性能(如节流、缓存变量)。

 6.如何实现文本超出展示省略号

// 多行文本
.text {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2; /* 控制显示的行数 */line-clamp: 2; /* 标准属性,部分浏览器可能不支持 */
}// 单行文本
.single-line {overflow: hidden;      /* 隐藏溢出内容 */white-space: nowrap;   /* 禁止文本换行 */text-overflow: ellipsis; /* 溢出显示省略号 */width: 200px;         /* 必须设置宽度(或父级有宽度限制) */
}

7.deep在css中存在吗?

deep是一种vue语法糖,在原生css中不存在,具体写法如下

语法

推荐程度

兼容性

使用场景

/deep/

不推荐

已废弃

旧版 Vue

>>>

不推荐

已废弃

早期 CSS Modules

::v-deep

推荐

Vue 2 和 Vue 3 兼容

Vue 2 或向后兼容

:deep()

强烈推荐

Vue 3 标准

Vue 3

8.xhtml和html的区别

XHTML和HTML的主要区别在于语法严格性、文件扩展名、标签和属性要求以及应用场景等方面。

首先,语法严格性是两者最显著的区别之一。XHTML要求所有标签必须闭合,即使是空标签也需要闭合(例如<br>应写作<br/>),而HTML则相对宽松,某些情况下标签可以不闭合。此外,XHTML区分大小写,标签和属性名称必须使用小写,而HTML不区分大小写。XHTML的属性值必须用引号括起来,无论是单引号还是双引号都可以使用,而HTML则不需要。

其次,文件扩展名也不同。HTML文件的扩展名可以是.html.htm,而XHTML文件的扩展名则是.xhtml.xht.xml

在标签和属性要求方面,XHTML要求所有标签必须正确嵌套和闭合,标签名必须小写,属性值必须用引号括起来。例如,正确的XHTML代码是<img src="img.jpg" /> ,而错误的写法是<img src=img.jpg>

最后,应用场景方面,XHTML更适合用于需要严格结构的应用,如XML处理工具,因为它符合XML规范。而HTML则适用于传统的Web浏览器解析,语法相对宽松,更适合快速开发和部署。

 9.script标签中defer和async的区别

  • 默认情况<script>标签会按照在HTML中的顺序执行,下载后同步加载脚本,阻塞页面加载和渲染

  • async属性:脚本会异步下载并执行,不会阻塞页面加载和渲染,脚本下载完后立即执行,不管其在文档中的位置。

  • defer属性:脚本也会异步下载,但不会立即执行,将在文档解析完成时,按照在文档中的顺序加载。

10.什么是强缓存、协商缓存? 

  • 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命中,则直接从缓存中读取资源,无需向服务器发送任何请求。(返回200)

  • 协商缓存: 当强缓存未命中时,浏览器会向服务器发送请求,询问服务器资源是否发生变化。如果服务器告知资源未改变,则浏览器从缓存中读取资源;如果服务器告知资源已改变,则浏览器会下载新资源并更新缓存。(返回304)

 11.Cookie、Session、LocalStorage、SessionStorage的区别

  • Cookie:

    • 存储位置:Cookie存储在客户端的浏览器中。

    • 生命周期:Cookie可以设置过期时间(Expires或Max-Age),到期后自动删除;若未设置过期时间,则为会话级(浏览器关闭后清除)。

    • 容量限制:一般大小限制为4KB左右。

    • 使用场景:主要用于用户身份认证(如记住登录状态)、保存用户偏好设置和跟踪用户行为(如广告点击记录)。

    • 安全性:容易被劫持(如XSS攻击),可以通过设置HttpOnly和Secure属性提高安全性。

    • 登录状态:可以在用户未登录时使用。

    • 跨页面:可以跨多个页面和不同子域共享。

    • 传输数据:每次请求都会携带 Cookie 数据。

  • Session:

      高安全性场景:适用于需要保护敏感数据的场景,如在线银行、支付系统等。

    • 存储位置:Session存储在服务端,服务器为每一个用户创建唯一的会话(Session)。

    • 生命周期:Session存在于用户活动的会话期间,当用户退出或者关闭浏览器,会话数据就会被删除。

    • 容量限制:取决于服务器配置。

    • 使用场景:用户会话管理:用于存储用户的会话信息,如购物车数据、用户权限等。

    • 安全性:相对安全,通过加密的 Session ID 进行识别和验证,且客户端不可见。

    • 登录状态:需要用户登录后才能创建和访问会话数据。

    • 跨页面:通常只能在单个会话期间。

    • 传输数据:仅在初始会话时传输 Session ID,后续请求不再携带全部会话数据。

  • LocalStorage:

      前端缓存:用于缓存大量数据,提高应用性能和用户体验。

    • 存储位置:存储在客户端,浏览器内。

    • 生命周期:持久性存储,除非手动删除,否则永久有效。

    • 容量限制:一般为 5-10MB,各浏览器可能不同。

    • 使用场景:长期数据存储:适用于存储长期有效的数据,如用户偏好设置、浏览历史等。

    • 安全性:易受 XSS 攻击,数据存储在客户端。

    • 登录状态:需要用户登录后才能创建和访问会话数据。

    • 跨页面:可以在同一域下的所有页面中共享数据。

    • 传输数据:不随请求发送,仅在客户端存储和访问。

  • SessionStorage:

      多标签页数据隔离:在同一域名下的不同标签页之间实现数据隔离,防止数据污染。

    • 存储位置:存储在客户端,浏览器内。

    • 生命周期:会话级别,浏览器关闭或标签页关闭后失效。

    • 容量限制:一般为 5-10MB,各浏览器可能不同。

    • 使用场景:临时数据存储:适用于存储会话级别的数据,如表单数据、页面状态等。

    • 安全性:易受 XSS 攻击,数据存储在客户端。

    • 登录状态:需要用户登录后才能创建和访问会话数据。

    • 跨页面:手动新建标签页无法共享数据,通过链接打开新页面会复制一套原有数据,但与原数据是独立的。

    • 传输数据:不随请求发送,仅在客户端存储和访问。

12. 输入一个URL到页面过程中发生了什么

  1. 通过 DNS 解析域名的实际 IP 地址

  2. 检查浏览器是否有缓存,命中则直接取本地磁盘的 html,如果没有命中强缓存,则会向服务器发起请求(先进行下一步的 TCP 连接)

  3. 若强缓存和协商缓存都没有命中,则返回请求结果

  4. 然后与 WEB 服务器通过三次握手建立 TCP 连接。期间会判断一下,若协议是 https 则会做加密,如果不是,则会跳过这一步

  5. 加密完成之后,浏览器发送请求获取页面 html,服务器响应 html,这里的服务器可能是 server、也可能是 cdn

  6. 接下来是浏览器解析 HTML,开始渲染页面

    1. 构建DOM树:词法分析然后解析成DOM树(dom tree),是由dom元素及属性节点组成,树的根是document对象

    2. 构建CSS规则树:生成CSS规则树(CSS Rule Tree)

    3. 构建render树:Web浏览器将DOM和CSSOM结合,并构建出渲染树(render tree)

    4. 布局(Layout):计算出每个节点在屏幕中的位置

    5. 绘制(Painting):即遍历render树,并使用UI后端层绘制每个节点。

13. DNS解析的过程 

  1. 浏览器缓存:浏览器首先检查自身缓存是否有该域名的IP记录,若有则直接使用。

  2. 系统缓存与Hosts文件:若浏览器无缓存,操作系统检查本地缓存(如Windows的DNS缓存)及Hosts文件,存在记录则返回。

  3. 本地DNS服务器查询:

    1. 用户配置的本地DNS服务器(如ISP提供的或公共DNS)接收递归查询请求。

    2. 若本地DNS有缓存且未过期,直接返回IP;否则开始迭代查询。

  4. 根域名服务器指引:本地DNS向根服务器查询,根服务器返回管理该顶级域(如.com)的顶级域名服务器地址。

  5. 顶级域名服务器指引:本地DNS询问顶级服务器(如.com服务器),获取管理目标域(如example.com)的权威服务器地址。

  6. 权威域名服务器解析:本地DNS向权威服务器查询,获得域名对应的IP(如www.example.com的A记录),并缓存结果。

  7. 结果返回与缓存:本地DNS将IP返回给用户,浏览器缓存该记录,后续请求可快速响应。 

14.Cookie有哪些配置项 

1.名称和值(Name and Value)

每个Cookie都有一个名称和值,名称和值由服务器设置,并在发送给客户端时存储在浏览器中。

document.cookie = "username=JohnDoe";

2.域(Domain)

指定Cookie所属的域。默认情况下,Cookie属于创建它的域。

document.cookie = "username=JohnDoe; domain=example.com";

3.路径(Path)

指定Cookie的有效路径。只有在该路径下的页面才能访问Cookie。

document.cookie = "username=JohnDoe; path=/account";

4.有效期(Expires)

指定Cookie的过期时间。可以设置为特定的日期和时间,超过这个时间后,Cookie将被删除。

document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT";

5.最大年龄(Max-Age)

指定Cookie从创建开始的有效时间,以秒为单位。这个属性比expires属性更精确。

document.cookie = "username=JohnDoe; max-age=3600";

6.安全性(Secure)

指定Cookie只能通过HTTPS协议发送,确保数据传输的安全性。

document.cookie = "username=JohnDoe; secure";

7.HttpOnly

指定Cookie只能通过HTTP协议访问,客户端JavaScript无法访问,增加安全性,防止跨站脚本攻击(XSS)。

document.cookie = "username=JohnDoe; HttpOnly";

8.SameSite

指定Cookie的SameSite属性,防止跨站请求伪造(CSRF)攻击。取值可以是StrictLaxNone

document.cookie = "username=JohnDoe; SameSite=Strict";

创建于2025.5.29,后续继续更新 

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

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

相关文章

基于 Spring Boot + Vue 的墙绘产品展示交易平台设计与实现【含源码+文档】

项目简介 本系统是一个基于 Spring Boot Vue 技术栈开发的墙绘产品展示交易平台&#xff0c;旨在提供一个高效、便捷的在线商城平台&#xff0c;方便用户浏览、选购墙绘产品&#xff0c;并提供管理员进行商品管理、订单管理等功能。系统采用了前后端分离的架构&#xff0c;前…

STM32F103_Bootloader程序开发05 - Keil修改生成文件的路径与文件名,自动生成bin格式文件

导言 通过Keil的相关配置&#xff0c;可以灵活地修改输出文件的保存路径及文件名称。在Bootloader程序开发过程中&#xff0c;合理配置输出文件对于后续固件升级和自动化脚本处理至关重要。完成路径和文件名配置后&#xff0c;还可以借助Keil自带的fromelf.exe工具&#xff0c;…

力扣每日一题2025.5.28——题号:3372.连接两棵树后最大目标节点数目 |

目录 题目链接&#xff1a;3372. 连接两棵树后最大目标节点数目 I - 力扣&#xff08;LeetCode&#xff09; 题目描述 解法一&#xff1a; Java写法&#xff1a; C写法&#xff1a; 运行时间 时间复杂度和空间复杂度 总结 题目链接&#xff1a;3372. 连接两棵树后最大目…

华为防火墙NAPT配置

1.实验拓扑 2.实验配置 [SW1]dis cu # sysname SW1 # vlan batch 10 20 # interface Vlanif10ip address 192.168.10.254 255.255.255.0 # interface Vlanif20ip address 192.168.20.253 255.255.255.0 # interface GigabitEthernet0/0/1port link-type accessport default vl…

java导入excel

这样读取excel时&#xff0c;得到的是结果值&#xff0c;而不是单元格的公式 import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil;InputStream inputStream file.getInputStream(); ExcelReader reader ExcelUtil.getReader(inputStream, 1); L…

stm32cube ide如何生成LL库工程

在 STM32Cube IDE 里生成使用 LL&#xff08;Low Layer&#xff09;库的工程&#xff0c;可按以下步骤操作&#xff1a; 1. 新建 STM32 工程 启动 STM32Cube IDE&#xff0c;选择File→New→STM32 Project。依据需求挑选目标 MCU 型号&#xff0c;接着点击Next。 2. 配置工程…

阿里通义实验室突破空间音频新纪元!OmniAudio让360°全景视频“声”临其境

在虚拟现实和沉浸式娱乐快速发展的今天&#xff0c;视觉体验已经远远不够&#xff0c;声音的沉浸感成为打动用户的关键。然而&#xff0c;传统的视频配音技术往往停留在“平面”的音频层面&#xff0c;难以提供真正的空间感。阿里巴巴通义实验室&#xff08;Qwen Lab&#xff0…

二十八、面向对象底层逻辑-SpringMVC九大组件之ViewResolver接口设计

在 Spring MVC 框架中&#xff0c;视图解析器&#xff08;ViewResolver&#xff09;是连接控制器逻辑与具体视图技术的核心纽带。它通过抽象化的接口设计&#xff0c;将视图的渲染逻辑与业务逻辑解耦&#xff0c;使开发者能够灵活支持 JSP、Thymeleaf、FreeMarker 等多种视图技…

LiveWallpaperMacOS:让你的 Mac 桌面动起来

随着桌面美化需求的不断提升,用户对于桌面壁纸的要求已经不再局限于静态图片。越来越多的 Mac 用户希望桌面能像 Windows 一样,拥有动态壁纸,展现个性、提升体验。LiveWallpaperMacOS 正是这样一款让你的 Mac 桌面焕发活力的开源项目。 本文将详细介绍 LiveWallpaperMacOS …

豆瓣电视剧数据工程实践:从爬虫到智能存储的技术演进(含完整代码)

通过网盘分享的文件&#xff1a;资料 链接: https://pan.baidu.com/s/1siOrGmM4n-m3jv95OCea9g?pwd4jir 提取码: 4jir 1. 引言 1.1 选题背景 在影视内容消费升级背景下&#xff0c;豆瓣电视剧榜单作为国内最具影响力的影视评价体系&#xff0c;其数据价值体现在&#xff1a…

集成均衡功能电池保护芯片在大功率移动电源的应用,创芯微CM1341-DAT、杰华特JW3312、赛微微电CW1244、中颖SH366006

一文了解集成均衡功能电池保护IC在大功率移动电源的应用 创芯微CM1341-DAT 创芯微CM1341-DAT是一款专用于4串锂离子/磷酸铁锂电池的保护芯片&#xff0c;内置有高精度电压检测电路和电流检测电路。通过检测各节电池的电压、充放电电流及温度等信息&#xff0c;实现电池过充电…

PHP生成pdf方法

1&#xff1a;第一种方法&#xff1a; 主要使用PHP的扩展 【 “spatie/browsershot”: “3.57”】 使用这个扩展生成PDF需要环境安装以下依赖 1.1&#xff1a;NPM【版本&#xff1a;9.2.0】 1.2&#xff1a;NODE【版本&#xff1a;v18.19.1】 1.3&#xff1a;puppeteer【npm in…

联通专线加持!亿林网络 24 核 32G 裸金属服务器,千兆共享带宽适配中小型企业 IT 架构

在当今数字化时代&#xff0c;企业的业务运营越来越依赖高效、稳定的 IT 架构。对于中小型企业而言&#xff0c;如何在有限的预算内构建强大且可靠的 IT 基础设施&#xff0c;是一项关键挑战。亿林网络推出的 24 核 32G 裸金属服务器&#xff0c;搭配联通专线和千兆共享带宽&am…

SQL计算列

SqlServer: ALTER TABLE KC_BILLHEAD ADD bill_no AS coalesce(billno , ) PERSISTED; 这是一个SQL语句&#xff0c;用于向表KC_BILLHEAD添加一个计算列bill_no。让我解释一下这个语句的各个部分&#xff1a; ALTER TABLE KC_BILLHEAD - 修改表KC_BILLHEAD的结构 ADD bill_n…

利用海外代理IP,做Twitter2026年全球趋势数据分析

近年来&#xff0c;社交媒体趋势分析逐渐成为品牌监控、市场洞察和消费者研究的必备工具。而当谈到全球趋势数据分析&#xff0c;很多人都会立即想到 Twitter趋势&#xff08;逼近连美丽国的总统都喜欢在上面发表自己的看法- -!!!&#xff09;。Twitter趋势&#xff0c;即Twitt…

【Vue3】Vue3 + TypeScript 中如何区分开发和生产环境的 API 地址(支持 axios 请求

Vue3 TypeScript 中如何区分开发和生产环境的 API 地址&#xff08;支持 axios 请求&#xff09; 在实际项目开发中&#xff0c;我们通常会遇到以下需求&#xff1a; 本地开发时访问的是本地 API&#xff08;如 http://localhost:3000&#xff09;&#xff1b;上线打包后访问…

【数据结构】线性表之“双链表(带头循环双向链表)”

- 第 99 篇 - Date: 2025 - 05 - 25 Author: 郑龙浩/仟墨 【数据结构】 续上一篇: 线性表之“单链表” 文章目录 “双链表&#xff08;带头双向循环链表&#xff09;” 的实现:分步解释所有函数&#xff1a;test.cDListNode.hDListNode.c “双链表&#xff08;带头双向循环链表…

【学习笔记】Transformer

学习的博客&#xff08;在此致谢&#xff09;&#xff1a; 初识CV - Transformer模型详解&#xff08;图解最完整版&#xff09; 1 整体结构 Transformer由Encoder和Decoder组成&#xff0c;分别包含6个block。 Transformer的工作流程大体如下&#xff1a; 获取每个单词的em…

[MMU]IOMMU的主要职能及详细的验证方案

IOMMU的主要职能及详细的验证方案 摘要&#xff1a;IOMMU&#xff08;Input/Output Memory Management Unit&#xff09;是一种硬件组件&#xff0c;负责管理I/O设备对内存的直接访问&#xff08;DMA&#xff0c;Direct Memory Access&#xff09;&#xff0c;其主要作用是提供…

动物类 如何使用Yolov11训练使用牛羊数据集 实现对牛羊进行检测数据集

牛羊检测数据集 3700张 平视视角牛羊检测 带标注 voc yolo 牛羊检测数据集 3700张 牛羊检测平视 带标注 voc yolo 分类名: (图片张数&#xff0c;标注个数) cattle: (1395&#xff0c;4309) sheep: (2393&#xff0c;1 1205) 总数: (3791&#xff0c; 15514) 总类(nc): 2类 以…