2023年最新前端面试题——你也可以成为那个卷王(持续更新中~)

1、快速居中对齐(版心)

父 display:flex; 子 margin:auto;

2、margin和padding的区别

作用对象不同,margin相对于外部,padding相对于自身

3、vw和百分比的区别

vw是视口宽度,百分比是相对于父继承

4、块级和行内元素的区别

块级元素宽默认占满继承父,行内元素宽高由内容决定不可设置

5、如何让浏览器支持小字体

使用scale缩小,transform:scale(0.5);-webkit-transform:scale(0.5);

6、var、let、const

var存在声明提升,声明覆盖,无块作用域;let为变量,const为常量可以避免这些

7、浅拷贝和深拷贝

基本数据类型赋值为深拷贝,引用数据类型赋值为浅拷贝
一维解构赋值为深拷贝,多维解构赋值为浅拷贝
Object.assign()为浅拷贝,json方法为深拷贝,递归遍历可实现深拷贝

8、在浏览器中输入url并回车都发生了什么

第一次访问:
输入url->dns域名系统匹配真实ip->建立连接(三次握手)->获取数据渲染页面->四次挥手
第二次访问:
读取浏览器的缓存,看第一次解析的ip有没有过期

9、浏览器页面渲染过程
在这里插入图片描述
10、从那些点做性能优化

页面加载性能(主):
	1.减少http请求(合并文件精灵图)
	2.减小文件大小(资源压缩使用svg)
	3.CDN(大文件)
	4.SSR服务端渲染
	5.懒加载
	6.分包(uniapp分包加快主页的加载)
动画与操作性能:
	使用脱离文档流减少dom操作,避免回流(vue、react的虚拟domdiff算法,文档碎片)

11、懒加载原理

将img的真实src存在自定义属性data-src,获取页面的视口和滚动条高度,遍历img,假如img的offsetTop在可视区内则给src赋值

12、this指向问题

this指向上一个调用者
箭头函数没有this
call, apply, bind可以改变this指向
call,apply 改变之后执行一次,bind只改变不执行
call传对象,apply传数组

13、闭包

避免变量被污染、私有化、保存变量常驻内存
应用场景:节流防抖、封装库

14、new对象的过程

创建一个空对象,设置它的原型链,改变this指向,判断返回值类型

15、事件委托

事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件

16、封装dom库思路

使用匿名自执行函数,将公共方法挂载在原型上,封装for循环

17、vue2响应式

发布订阅模式 + 双向数据绑定(Object.defineProperty()= vue2响应式

18、Promise
在这里插入图片描述
19、vue渲染过程

template->render()->虚拟dom->真实dom

20、vue权限控制

通过自定义指令
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bei-zhen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值