近期前端面试总结

本文是对近期前端面试的总结,涵盖了CSS、JavaScript、ES6、小程序和Vue等方面的问题。讨论了盒模型、深拷贝与浅拷贝、Map与Set的区别、小程序分包加载、Vue组件的递归调用等关键知识点,同时阐述了Vue的生命周期、路由缓存和设计模式应用。
摘要由CSDN通过智能技术生成

对于面试还是比较喜欢的,一来可以了解市面上公司所使用的技术栈,二来可以认识到自己的不足。

因为不着急换工作,所以一般先找不太中意的公司进行面试(比如外包)。

直接裸面,不做太多准备,这样对于技术的掌握更有帮助。

总结下近期几场面试,遇到的一些比较有难度的问题。

CSS 篇

1、盒模型

这个问题比较简单,盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

在这里插入图片描述

2、box-sizing

说明
content-box 默认值。内容区宽度,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。
border-box 设置的边框和内边距的值是包含在 width 内的。内容区的实际宽度是 width 减 去(border + padding) 的值。
inherit 指定 box-sizing 属性的值,应该从父元素继承

JavaScript 篇

1、深拷贝和浅拷贝

浅拷贝和深拷贝都是只针对于像Object,Array这样的引用类型。

浅拷贝只是拷贝指向原来对象的地址。

深拷贝会创建一个新的内存空间,拷贝的值是一样的,但是内存地址不一样。

比如

	let a = [0, 1, 2];
	let b = a;
	b[1] = 3;
	console.log(a) //  [0, 3, 2]
	console.log(b) //  [0, 3, 2]

上述例子实现的就是个浅拷贝,无论修改哪个变量的值,两个变量值都会对应改变。

为了实现两个变量互不影响,需要实现深拷贝

实现深拷贝

	let a = [0, 1, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值