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

web前端面试题

web前端面试题

1、前端如何实现优化性能

(1)减少网络时间 ①使用DNS缓存技术 ​ ②减少需要传输的文件尺寸 ​ ③加快文件传输速度

(2)减少发送的请求数量 ①利用浏览器缓存 ​ ②使用合并的图片文件

(3)提高浏览器下载的并发度 ①JS文件放在HTML文档最后 ​ ②使用多个域名

(4)让页面尽早开始显示
①将样式表的引用放在HTML文档的开头,将JS的引用放在HTML文档的最后,这样JS文件的下载和执行会在所有页面都下载完成后,不会阻止其他页面元素的显示。从用户感官上说,JS文件的下载和执行时间完全不会被用户感觉到。

2、浏览器缓存

引用地址

3、cookie sessionStorage localStorage 区别

区别:
1、cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下
2、存储大小限制也不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
3、数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭
4、作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的

4、Canvas和SvG的区别是什么?

两者的区别如下:
一旦 Canvas绘制完成将不能访问像素或操作它;任何使用SVG绘制的形状都能被记忆和操作,可以被浏览器 再次显示。
Canvas对绘制动画和游戏非常有利;SVG对创建图形(如CAD)非常有利。
因为不需要记住以后事情,所以 Canvas运行更快;因为为了之后的操作,SVG需要记录坐标,所以运行比较 缓慢。
在 Canvas中不能为绘制对象绑定相关事件;在SVG中可以为绘制对象绑定相关事件。
Canvas绘制出的是位图,因此与分辨率有关;SvG绘制出的是矢量图,因此与分辨率无关

5、清除浮动的方式

第一种 清除浮动方式 clear 在浮动元素的同级末尾加上 一个空div 并添加样式 clear属性
第二种 当子元素发生浮动 使用 overflow属性会强制性包裹起来浮动内容 而达到清除浮动的效果
第三种:用伪类去实现清除浮动 : after伪类 来实现清除浮动 有借助第二种方式的方法

6、谈谈你对静态布局、自适应布局、响应式布局、弹性布局的理解?

静态布局
描述:就是设定好的长和宽,大小不会改变,不管你多大的屏幕它都是那么大,分辨率是不会改变的
自适应布局
描述:不同屏幕分辨率下,保持原有展示方式。元素的尺寸大小可以改变,但展示方式不会改变
响应式布局
描述:不同屏幕分辨率下,展示方式不同
弹性布局(flex布局)
描述:目前比较流行的一种布局,使用传统布局难以实现一些复杂的布局,使用flex布局实现就变得非常容易

7、async和defer的区别

defer和async是script标签的两个属性,用于在不阻塞页面文档解析的前提下,控制脚本的下载和执行。
defer:用于开启新的线程下载脚本文件,并使脚本在文档解析完成后执行 - js的执行在所有的元素都解析完成之后执行。
async:新增属性,用于异步下载脚本文件,下载完毕立即解释执行代码 - js加载完成之后立即执行。

8、JS判断数据类型的方法

1、typeof
2、instanceof
3、constructor
4、toString
5、is Array 判断是否为数组
6、通过原型 Object.prototype.toString.call(val) === ‘[object Object]’

9、数组去重

利用ES6 Set去重(ES6中最常用)
利用for嵌套for,然后splice去重(ES5中最常用)

10、var let const的区别

①var有变量提升 let、const没有变量提升
②var除函数内部都为全局变量 let、const都属于块级作用域
③var可以重复定义,会覆盖之前的变量 let、const不能重复定义,报错
④var没有暂时性死区 let、const有暂时性死区
⑤var声明为全局变量的时候会挂载到window let、 const不会挂载到window
⑥var、let为变量 const为常量

11、new操作符具体做了哪些事情

①new会在内存中创建一个新的空对象
②new会让this指向这个对象
③执行构造函数里的代码,给这个新对象添加属性和方法
④new 会返回这个新对象(所以构造函数不需要return)

12、js的继承

1、原型链继承
优点:父类方法和属性可以复用
缺点:1、父类中的引用数据类型会被共享(子类修改父类中的引用数据,另一个子类跟着改动)2、不能传递参数

function Person() {this.name = "小明"this.eats = ['苹果']this.getName = function() {console.log(this.name)}
}
Person.prototype.get = () => {console.log("Person.prototype上的方法")
}

相关文章:

web前端面试题

web前端面试题 1、前端如何实现优化性能 (1)减少网络时间 ①使用DNS缓存技术 ​ ②减少需要传输的文件尺寸 ​ ③加快文件传输速度 (2)减少发送的请求数量 ①利用浏览器缓存 ​ ②使用合并的图片文件 (3)提高浏览器下载的并发度 ①JS文件放在HTML文档最后 ​ ②使用多个域名 (…...

创建型模式之单例

文章目录 概述定义场景小结 概述 设计模式包括创建型模式,结构型模式,行为型模式。 今天先看看创建型模式,而单例是创建型模式中的第一个而且是常用的,就从它开始吧。 定义 单例模式用来创建全局唯一的对象。一个类只允许创建一…...

在 Next.js 应用中创建ContactForm表单提交

在 Next.js 应用中创建表单提交涉及几个关键步骤,包括设置表单、处理表单提交以及管理服务器端或 API 逻辑。以下是使用 Next.js 开发一个简单表单提交的步骤。 1. 设置表单组件 首先,创建一个表单组件。在这个例子中,我们将创建一个 Conta…...

HTML5 3D图像应用

目录 关键技术与规范应用示例与领域相关工具与框架HTML5 3D图像应用是利用HTML5、CSS3、JavaScript(及其相关的库和框架)以及其他现代Web技术(如WebGL)构建的,能够在浏览器中呈现三维图形、动画和交互式场景的应用程序。以下是一些关于HTML5 3D图像应用的关键点和示例: …...

SQL——DML对表中数据的操作

# 创建数据库 create database if not exists db_BigData default character set gb2312 default collate gb2312_chinese_ci; # 创建表 create table if not exists db_BigData.stu (id int auto_increment primary key comment 主键ID,name var…...

深度学习之基于Matlab卷积神经网络(CNN)手写数字识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 手写数字识别是计算机视觉领域的一个重要问题,也是深度学习应用的一个典型场景。卷…...

工业4.0 企业级云MES全套源码,支持app、小程序、H5、台后管理端

工业4.0 企业级云MES全套源码,支持app、小程序、H5、台后管理端 采用javaspringboot-vue.jsuniapp开发 随着工业4.0的快速发展,制造执行系统(MES)成为了智能制造的核心。今天,将为大家介绍一款开源的MES系统——MES管…...

Science| 单体耦合纤维实现无芯片纺织电子(纤维器件/智能织物/柔性可穿戴电子)

东华大学Hongzhi Wang,Chengyi Hou和Qinghong Zhang团队在《Science》上发布了一篇题为“Single body-coupled fiber enables chipless textile electronics”的论文。论文内容如下: 一、 摘要 智能纺织品为将技术融入日常生活中提供了理想的平台。然而,目前的纺织电子系统…...

前端面试项目细节重难点(已工作|做分享)

面试官提问:需求场景:页面上有一个单选框,有是否两个选项:当用户选择是,出现一个输入框,用户可以输入内容,给后端的保存接口传入参数radio和content这两个字段,值分别是用户选项和输…...

ASTGCN 论文学习下

文章目录 4.4.2 时间注意力4.4.2 计算示例 4.5 空间-时间卷积4.5.1 空间维度上的图卷积4.5.2 时间维度上的图卷积4.5.3 空间-时间卷积模块总结 4.6 多组件融合 5 实验5.1 数据集5.1.1 PeMSD45.1.2 PeMSD8 5.2 数据预处理5.3 实验设置5.4 基线模型5.5 比较与结果分析5.5.1 主要发…...

【面经】单片机

1、单片机IO口工作方式 输入 模拟输入(GPIO_Mode_AIN):关闭施密特触发器,将电压信号传送到片上外设模块,通常用于连接模拟信号源。浮空输入(GPIO_Mode_IN_FLOATING):在浮空输入状态…...

基于manifest文件批量将coding的仓库导入gitlab中

文章目录 写在前面的话背景编写manifest文件最终效果 写在前面的话 前面有讲过通过manifest清单导入项目到gitlab中,但是实际的操作是不同gitlab实例之间的操作,然而对于在不同gitlab实例的repo迁移而言,显然direct transfer会更合适。 背景…...

【数据结构】——顺序表与链表

顺序表与链表 线性表顺序表链表链表的概念链表的分类不带头单向非循环链表的实现带头双向循环链表的实现顺序表与链表的区别 线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构。 常见的线性结构:顺序表、链表、栈、队…...

C++简洁版全排列代码

《代码随想录》在回溯章节中的全排列代码模板较为复杂&#xff0c;其实还有一种常用写法&#xff0c;思路是交换元素位置后做dfs(),并回溯。对应leetcode46题。 class Solution { public:vector<vector<int>> res;void dfs(vector<int>num, int k){// k代表…...

2024电工杯B题保姆级分析完整思路+代码+数据教学

2024电工杯B题保姆级分析完整思路代码数据教学 B题题目&#xff1a;大学生平衡膳食食谱的优化设计及评价 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 总体分析&#xff1a; 题目要求对两份一日膳食食谱进行营养分析和调整&#xff0c;然后设计优化的平衡膳…...

基于svm的水果识别

1、程序界面介绍 该程序GUI界面包括待检测水果图片加载、检测结果输出、清空可视化框等。其中包括训练模型、加载图片、重置、识别检测按钮。 程序GUI界面 识别玉米识别西瓜 分类器识别水果基本原理&#xff1a; 由于每种水果的外形存在很大差异&#xff0c;比如西瓜与玉米&…...

【DevOps】深入理解 Nginx Location 块:配置示例与应用场景详解

目录 一、location 块的基本概念 二、location 块的语法 三、location 块的匹配方式 四、location 块的优先级 五、location 块的应用场景 六、location 块的嵌套 七、location 块的指令 八、示例配置 Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;它广…...

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(十一)

本系列课程&#xff0c;将重点讲解Phpsploit-Framework框架软件的基础使用&#xff01; 本文章仅提供学习&#xff0c;切勿将其用于不法手段&#xff01; 接上一篇文章内容&#xff0c;讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 我们&#xff0c;继续讲一…...

未来机器人的发展方向

未来机器人的发展方向是多元化且充满潜力的。以下是一些主要的发展方向&#xff1a; 人工智能与机器学习的集成&#xff1a;随着人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;技术的不断进步&#xff0c;机器人将变得更加智能化和自主化。这些技术将…...

美国硅谷高防服务器有哪些优势

美国硅谷高防服务器是位于美国硅谷的&#xff0c;具备高级防护能力的服务器。这种服务器针对网络安全威胁提供了增强的保护措施&#xff0c;以确保数据的安全和业务的连续性。Rak部落小编为您整理发布美国硅谷高防服务器有哪些优势。 具体介绍如下&#xff1a; 1. 安全性&#…...

IDM激活开源工具:永久使用Internet Download Manager的完整指南

IDM激活开源工具&#xff1a;永久使用Internet Download Manager的完整指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 当你发现下载工具突然停用&#xff0…...

告别药物研发效率困境:用REINVENT4实现智能分子设计范式突破

告别药物研发效率困境&#xff1a;用REINVENT4实现智能分子设计范式突破 【免费下载链接】REINVENT4 AI molecular design tool for de novo design, scaffold hopping, R-group replacement, linker design and molecule optimization. 项目地址: https://gitcode.com/gh_mi…...

企业级应用权限架构设计与实践指南

企业级应用权限架构设计与实践指南 【免费下载链接】react Reactwebpackreduxant designaxiosless全家桶后台管理框架 项目地址: https://gitcode.com/gh_mirrors/reac/react 一、概念解析&#xff1a;权限管理的核心要素 &#x1f50d; 权限管理是企业级应用的安全基…...

第29章 2023真题作文

目录 题目2023.11-论边缘计算及其应用 题目2023.11-论多源数据集成及应用 题目2023.11-论面向对象的建模及应用 题目2023.11-论软件的可靠性评价 题目2023.11-论边缘计算及其应用 边缘计算是在靠近物或数据源头的网络边缘侧&#xff0c;融合网络、计算、存储、应用核心能力…...

系统资源诊断与性能优化:使用Hotkey Detective实现高效热键冲突管理

系统资源诊断与性能优化&#xff1a;使用Hotkey Detective实现高效热键冲突管理 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

如何通过培养持久专注力技巧来应对多动症干预?

持久专注力技巧助力多动症有效干预应对 培养持久专注力是有效应对多动症的重要策略之一。首先&#xff0c;保持一个规律的学习环境能显著提高孩子的专注力。家长可以为孩子提供一个安静且无干扰的学习空间&#xff0c;定期设定学习时间。此外&#xff0c;采用分段学习法&#x…...

三步掌握BilibiliDown:高效全平台B站视频下载完全攻略

三步掌握BilibiliDown&#xff1a;高效全平台B站视频下载完全攻略 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/b…...

FRCRN语音降噪工具智能助手场景:实时语音通信SDK中低延迟降噪接入实践

FRCRN语音降噪工具智能助手场景&#xff1a;实时语音通信SDK中低延迟降噪接入实践 1. 项目背景与价值 在实时语音通信场景中&#xff0c;背景噪声一直是影响通话质量的关键问题。无论是视频会议、在线教育还是语音社交&#xff0c;清晰的语音质量都是用户体验的核心。传统降噪…...

ai赋能mybatis开发:让快马智能助手帮你优化sql语句与重构mapper文件

AI赋能MyBatis开发&#xff1a;让快马智能助手帮你优化SQL语句与重构Mapper文件 MyBatis作为Java生态中广泛使用的ORM框架&#xff0c;其灵活性和强大的SQL定制能力深受开发者喜爱。但在实际开发中&#xff0c;复杂的SQL查询和Mapper文件往往成为性能瓶颈和维护难题。今天我想…...

Hunyuan-MT Pro效果可视化:同一输入在33种目标语言下的翻译结果横向对比

Hunyuan-MT Pro效果可视化&#xff1a;同一输入在33种目标语言下的翻译结果横向对比 1. 测试背景与目的 在现代全球化环境中&#xff0c;多语言翻译技术的重要性日益凸显。Hunyuan-MT Pro作为基于腾讯混元开源模型构建的翻译终端&#xff0c;宣称支持33种语言的互译功能。但实…...