前端面试 汇总整理

article/2025/9/23 4:49:56

-----------------------------------------html css--------------------------------------------
一.回流与重绘
回流一定引起重绘,重绘不一定回流
1.浏览器渲染机制
1)浏览器采用流式布局。
2)浏览器将html解析成DOM,css解析成CSSOM,再把二者结合生render tree 渲染树(带了结构和样式)。
3)render tree 知道节点样式后,把节点绘制到页面。
2. 回流
含义:当render tree中某些元素尺寸变化,浏览器会重新渲染部分或全部文档。
何时会回流:
1)首次渲染
2)窗口大小变化
3)内容变化
4)添加删除节点
5)激活css伪类
3 .重绘
含义:当页面中元素样式改变不影响它在文档流中的位置,浏览器会将新样式赋予给元素。
如:background
4.性能影响
总结:回流性能消耗大
5.避免性能影响
css:
避免使用table
避免多层内联样式
js:
避免频繁操作DOM

三.标签属性
lang属性:用于指定元素内容的语言
dir属性:用于指定元素中内容的文本方向,属性只有ltrrtl两种
accesskey属性:用于指定激活元素的快捷键
tabindex属性:用于指定元素在tab键下的次序

四.事件属性

  1. window窗口事件,onload,在网页加载结束之后触发,onunload,在用户从网页离开时发生(点击跳转,页面重载,关闭浏览器窗口等)
  2. form表单事件,onblur,当元素失去焦点时触发,onchange,在元素的值被改变时触发,onfocus,当元素获得焦点时触发,onreset,当表单中的重置按钮被点击时触发,onselect,在元素中文本被选中后触发,onsubmit,在提交表单时触发
  3. keyboard键盘事件,onkeydown,在用户按下按键时触发,onkeypress,在用户按下按键后,按着按键时触发。该属性不会对所有按键生效,不生效的有,alt,ctrl,shift,esc
  4. mouse鼠标事件,onclick,当在元素上发生鼠标点击时触发,onblclick,当在元素上发生鼠标双击时触发,onmousedown,当元素上按下鼠标按钮时触发,onmousemove,当鼠标指针移动到元素上时触发,onmouseout,当元素指针移出元素时触发,onmouseup,当元素上释放鼠标按钮时触发。
  5. .Media媒体事件,onabort,当退出时触发,onwaiting,当媒体已停止播放但打算继续播放时触发。

五.文本标签

  1. 强调语句标签,<em></em>,用于强调某些文字的重要性
  2. 更加强调标签,<strong></strong><em>标签一样,用于强调文本,但它强调的程度更强一些
  3. 无语义标签<span></span>,标签是没有语义的
  4. 短文本引用标签<q></q>,简短文字的引用
  5. 长文本引用标签<blockquote></blockquote>,定义长的文本引用
  6. 换行标签<br/>

有序列表,ol,li 属性 start从第几个开始 type 类型有a A 1… reversed 反转

表格合并,同一行内,合并几列colspan="2",同一列内,合并几行rowspan="3"

  1. 表单标签<form>
    <form></form>表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。
    <form method="传送方式" action="服务器文件">
    action,浏览者输入的数据被传送到的地方
    method,数据传送的方式
  2. 输入标签<input/>
    name:为文本框命名,用于提交表单,后台接收数据用。
    value:为文本输入框设置默认值。
    type:通过定义不同的type类型,input的功能有所不同。

1、HTML5的新特性?

  • 1、语义化标签,比如header、footer、nav导航、aside侧边栏、article、section time定义时间
  • 2、音视频,比如audio、video
  • 3、画布canvas、矢量图svg
  • 3、画布,canvas的api有getContext、fillStyle、fillRect等
  • 4、本地存储localStorage、sessionStorage
  • 5、web worker

meta 元数据 作者 语言。。

六 .CSS

  1. CSS的某些样式是具有继承性的,继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。

  2. 不可继承样式:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear

  3. 可以继承的样式:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction、visibility、cursor

圣杯布局 优先加载中间的主元素 把第二个padding-200px移除页面 再给父元素-100px 扩大父元素

七.选择器的优先级
5. 当有不同的选择器对同一个对象进行样式指定时,并且两个选择器有相同的属性被赋予不同的值时。

  1. 通过测算那个选择器的权重值最高,应用哪一个选择器的样式

  2. 权重计算方式:
    标签选择器:1
    class选择器:10
    id选择器:100
    行内样式:1000

  • ~兄弟选择器
    !important 最高级别,提高样式权重,拥有最高级别

八.背景样式

  1. 背景颜色background-color

  2. 背景图片background-image
    background-image:url(bg01.jpg);

  3. 背景图片位置background-position
    background-position:10px 100px;
    // 代表坐标x,y轴

  4. 背景图片重复background-repeat
    background-repeat:no-repeat
    // no-repeat 设置图像不重复,常用
    // round 自动缩放直到适应并填充满整个容器
    // space 以相同的间距平铺且填充满整个容器

  5. 背景图片定位background-attachment
    background-attachment:fixed
    // 背景图像是否固定或者随着页面的其余部分滚动
    // background-attachment的值可以是scroll(跟随滚动),fixed(固定)

padding撑起高:200% 即宽度两倍 margin不行

伪类伪元素
伪元素 调试时文档上找不到
::before after selection文字的选中
伪元素有六个,分别是::after、::before、::first-line、::first-letter、::selection、::backdrop。
css伪类有:“:link”、“:visited”、“:hover”、“:active”、“:focus”、“:lang()”、“not()”、“:root”、“:first-child”、“:last-child”、“:empty”等等

溢出隐藏 overflow

设置当对象的内容超过其指定高度及宽度时如何显示内容
visible 默认值,内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

解决 margin 塌陷问题的方法
同级元素:如果两个元素垂直方向有间距,只需要设置给一个元素,不要进行拆分
父子元素:让两个边距不要相遇,中间可以使用父元素 border 或 padding 将边距分隔开,更加常用的方法,父子盒模型之间的距离就不要用儿子的 margin 去踹出来,而是父级的 padding 挤出来

浮动导致塌陷
在下面父级元素加个div 设置clear both 不给高度
或者给父元素加个伪类 ::after {
content="";
display:block;
width:0;
height:0;
clear:both;}
或者写一个样式 。clearfix::after 谁需要清除 加到class里
或者 用overflow hidden 出发bfc规则

data url 图片小于多少时 打包成base64编码

preload加载优先级高的资源
prefetch空闲时加载

禁止复制
user-select none
oncopy事件禁用

取消请求
abortcontrol
---------------------------------------------js------------------------------------------------

一.JavaScript判断类型的方式是什么?
1.如何判断一个变量是数组 instanceof = true
2.typeof:只能判断 字符串、布尔值、数值、undefined、function、object、symbol、bigInt,不能区分判断 数组、null、对象
3.A instanceof B:判断A是否为B的实例对象,从而判断A是否为B类型
4.Object.prototype.toString.call():可以判断所有的数据类型

二.call,apply,bind
1.call 可以调用代码


function dog(name){console.log("eat bone")
}dog.call();
//可以调用方法

2.call 可以改变函数this指向 apply的区别参数是数组 bind 传参与call一致 但不会调用函数

var foo = 'bar';
function dog(name){name:"dd"sayName(){console.log("l am" + this.name)}eat(food){console.log("l eat" + this.food)}
}
let cat ={name:"cc";
}dog.sayName.call(cat);
dog.eat.call(cat,fish,apple)//cat this的对象 后面是要传的参数
dog.eat.apply(cat,["fish","apple"])
dog.eat.bind(cat,fish,apple)//不会执行 但会有返回值
let fun = dog.eat.bind(cat,fish,apple);
fun();

跨域
jsonp (cors contol among …设置wei*) proxy

---------------------------ES6-------------------

1.var let const

var 1.声明提升 2.变量覆盖 3.没有块级作用域 函数作用域function内都可以用 for循环体内声明使用 循环体外依旧有效

const 不能修改 let 不存在变量提升 同一作用域不能重复定义一个名称 支持块级作用域 严格作用域 const一定要初始化赋值 不能值声明不赋值 const一个空的对象数组 再给对象数组赋值可以

2.去重

let arr = [11,11,22,23]
let item = [...new Set(arr)]
console.log(item)

。。。扩展运算符
3.promise
.then() 异步
在这里插入图片描述
1 3 2

四.promise 目前最好的异步处理方案
避免回调地狱

异步 ajax 定时器 事件 node读文件 操作数据库

三状态 fulfilled已解决 pending 待定 rejected拒绝 状态不可逆

.then挂在在原型promise上

五.新特性
let const 箭头函数 set map数据类型

set 类似数组 但成员唯一add 2个2进数组 只显示一个 用于去重
map 要有键和值
const m=new Map();
m.set(‘name’,‘jack’)

箭头函数

-------------vue------------------------

一.MVC 缺点 后端完成 才能开发前端

MVVM前后端分离 中间多一个VM(data())多了视图控制器
可以将数据保存到data里 不用反复请求后端

二.v-model 原理

三.虚拟Dom v2才有
1.本质js 跨平台
vue一条线初始化 一条线更新
vue —通过render 转化dom 真实dom转成虚拟dom 更新的时候做对比

真实dom更新是摧毁整个页面 虚拟dom局部更新


http://chatgpt.dhexx.cn/article/76mNpIVr.shtml

相关文章

JavaWeb——后端开发必备的JavaScript知识

JS学习 1.什么是JavaScript&#xff0c;有什么用&#xff1f; 答&#xff1a;JavaScript是网景公司发明的&#xff0c;运行在浏览器上的脚本语言&#xff0c;简称JS。 补充&#xff1a;网景公司现在没了&#xff0c;被美国在线收购了。 2.在HTML中嵌入JavaScript代码的三种方…

el-input中设置onkeypress事件是否匹配正则表达式显示输入内容的格式

场景 若依前后端分离版手把手教你本地搭建环境并运行项目&#xff1a; 若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-CSDN博客_若依前后端分离搭建 设置el-input的onkeypress事件限制输入内容是否匹配正则表达式。 注&#xff1a; 博客&a…

前端开发实习生面试总结

个人感觉面试官对实习生还是很友好的&#xff0c;大部分时候你答不上来都会引导你&#xff0c;最后还会点评你的不足&#xff0c;评价出来的那些问题确实是我自己的短板&#xff01;所以在整个过程中还是学到了很多&#xff01;&#xff01; 本人坐标南京&#xff0c;南京投的相…

datacenter 2

突然综合类又有新的事情了 页面能顺利打开了 但是好像值传不过去 之前不知道为什么输出了三十次 之前是判断两个不为4和200 然后else输出 现在改了之后只输入10次 但是出现通讯错误那个问题

数据中心与云数据中心

数据中心与云数据中心 数据中心&#xff08;DC&#xff0c;DataCenter&#xff09;是指在一个物理空间内实现信息的集中处理、存储、传输、管理等功能&#xff0c;它包括服务器、存储、网络等关键设备和这些关键设备运行所需要的环境因素&#xff0c;如供电、制冷、消防、监控等…

阿里云cassandra数据库datacenter查看

在使用阿里云的cassandra数据库时需要注意的是下图中的数据中心ID对应cassandra中的datacenter&#xff0c;而不是数据中心的名称&#xff01;&#xff01;&#xff01; 即SessionBuilder.withLocalDatacenter方法要使用阿里云cassandra官方文档中的数据中心ID public SelfT w…

英特尔固态硬盘测试软件,英特尔固态硬盘工具(Intel SSD Datacenter Tool)

英特尔固态硬盘数据中心工具Intel SSD Datacenter Tool是一个有用的命令行应用程序&#xff0c;特别适合管理 910 系列的英特尔SSD固态驱动器。如果用户的硬盘是英特尔的就需要下载一个这样的软件&#xff0c;软件能对硬盘进行检测和固件升级&#xff0c;有需要的可以下载使用。…

ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记

文章目录 BackgroundGeminiDiscussion Background 现代的一些大规模在线服务会将他们的信息储存在不同地域的数据中心当中&#xff0c;并且这种分布以及变得越来越流行了。这意味着&#xff0c;有一些流会同时经过数据中心与广域网。(和Annulus中提到的是同一个问题) 实际上这…

2008服务器文件夹镜像,【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter

微软发布对 Windows Server 2008 和 2008 R2 的支持已于 2020 年 1 月 14 日结束。 这意味着定期安全更新也已终止,将不会有额外的: 免费本地安全更新 非安全更新 免费支持选项 在线技术内容更新 各云服务商也发布了相关下线 Windows 2008 系列镜像的公告 【腾讯云】关于Wind…

VMware Workstation中安装Windows Server 2022 DataCenter(数据中心)无桌面版且配置远程桌面

一、实现效果 二、安装配置操作 2.1、下载Windows Server 2022的iso镜像 原版软件 (itellyou.cn)https://next.itellyou.cn/Original/Index#

Windows 11 与 Windows Server 2019 Datacenter 下部署 适用于Linux的windows子系统

提示&#xff1a;一篇完成2个操作系统的步骤 2个版本同时发布 前言电脑版本 提示&#xff1a;Windows11一、安装前CPU需要支持虚拟化技术 二、安装打开Microsoft Store ,搜索 Ubuntu2.获取安装即可 阿里云 提示&#xff1a;Windows Server 2019 Datacenter一、安装前二、安装总…

Windows Server 2019 Datacenter x64 安装 SHARP AR-2048N 打印机驱动

设备信息及驱动准备 打印机型号&#xff1a;SHARP AR-2048N 系统版本&#xff1a;Windows Server 2019 Datacenter x64 官网驱动下载&#xff0c;标准驱动 2048/2348/2648/3148NV&#xff0c;打印驱动程序&#xff08;SPLC打印语言&#xff09;、扫描仪驱动程序 安装场景与问…

NSX-T 3.1 DataCenter学习实践 1

一&#xff0c;基础实验环境搭建 实验环境介绍 实验环境是两台Dell R620服务器&#xff0c;一台MD3220 SAS存储。由于R620只支持到vSphere 6.7&#xff0c;NSX-T最好通过物理机上运行嵌套EXSi虚拟机来实现&#xff0c;这样完全规避了硬件兼容性问题。ESXi虚拟机共享存储有两个…

Windows Server 2019 Datacenter 安装PHP 8.0

下载 下载PHP8.0&#xff0c;这里选择Non Thread Safe下载 https://download.csdn.net/download/qq_17790209/16620755 下载完成后通过FTP服务上传至服务器 这里我比较推荐直接将文件解压到Program File里面 安装 将php.ini.development文件的文件名改为php.ini 之后在该文…

windows server 2016 datacenter添加.net framework3.5失败解决方法

windows server 2016 datacenter添加.net framework3.5失败。 本次环境是使用学校网络中心的堡垒机&#xff0c;进入远程的虚拟机。估计学校在网络访问上做了很多限制&#xff0c;导致使用仪表盘添加角色和功能时候&#xff0c;总是失败。报错误 0x800f0907。 方法一&#xff1…

openLooKeng datacenter connector跨域查询实现原理浅析

前言 当公司发展到了一定的规模之后&#xff0c;一般都会有多个数据中心&#xff0c;或者多个机房&#xff0c;在大数据场景下就会涉及到数据会存放在不同的数据中心HDFS上&#xff0c;有时又需要使用多个数据中心的数据一起计算某些业务逻辑&#xff0c;我们可以称之为东数西…

最简单的Consul集群配置, 双datacenter

官方Doc and API在这儿: https://www.consul.io/docs/internals/architecture.html API操作我一般用curl, 这个附一个命令 curl -H "Content-Type: application/json" -X PUT --data {"Datacenter":"dc1","Node":"[Nodename]&qu…

记一次实战windows 2008 R2 Datacenter 提权

前景&#xff1a;拿到某个站 getshell 上传马后发现权限低&#xff0c;然后就是漫长的提权过程 蚁剑连接到aspx 的马后进入终端先进行信息收集一波&#xff0c;使用命令whoami 可以发现是iis 的权限 使用命令 systeminfo 查看操作系统和打了哪些补丁等等&#xff0c;windows 2…

服务器2019系统无法添加.net3.5,Windows Server 2019 Datacenter 无法安装.Net Framework 3.5

打开应用程序,遇到这样的错误提示,只能说太操蛋了,都2020年了,还有人在使用.Net Framework 3.5这样的版本,按道理讲,.Net Framework 高版本应当兼容低版本程序,然而并不是。 看了一下解释: NET Framework 4.0 不兼容NET Framework 3.5; 如果一个程序是 NET Framework …

认识 Atlassian Datacenter 产品

认识 Atlassian Datacenter 产品 云端原本就是群集化的架构&#xff0c;Atlassian 系列产品&#xff0c;应用的开发团队相当广范且行之有年&#xff0c;但是将应用程序作为节点&#xff08;比如Jira,confluence,bamboo…等應用程式&#xff09;然后群集化的运维团队却是少之又少…