面试 - 前端基础速刷
一、 
- Ajax Fetch Axios都用于网络请求,但是不同维度。比如之前提到的,栈队列数组,栈和队列是逻辑结构,数组是物理结构。
Ajax(Asynchronous JavaScript and XML)是一种技术统称;Fetch是一个具体的原生API;Axios是第三方库(lib)。
(回顾一下手写Ajax,用到XMLHttpRequest)


库是第三方工具,API是原生的函数。
二、防抖和节流(区别 应用场景)
防抖 debounce:先抖动着,啥时候停止啥时候再执行下一步。

节流 throttle:别急,一个一个来,按时间节奏来。




总结:


三、px % em rem vw/vh 的区别



rem:手机端匹配不同屏幕尺寸👇(下面这个例子貌似某个笔试见到过)

四、 箭头函数
- 箭头函数有什么缺点?
没有arguments;
无法通过 apply bind call来绑定 this。
代码可能难以阅读。 - 不适用箭头函数的场景

补充的一个小知识点👇:

五、TCP三次握手和四次挥手
连接-握手,断开-挥手
连接:


断开:


六、for...in 和 for...of 的区别
for...in遍历对象,for...of遍历Map、Set

可枚举:enmunerable
可迭代:Symbol.iterator, next方法
总结:
for in是index,for of是值

for await ...of有什么作用?
有个createPromise函数👇


顺序出现100 200 300:?不是一次性打印出三个?---异步调用

await保证执行完当前这个再执行下一个。

下面这样也可以一步一步调用

七、offsetHeight和scrollHeight和clientHeight的区别
- 盒子模型
width height padding boeder margin box-sizing
✨
八、HTMLCollection和NodeList的区别
这两个类型都是包含了很多元素的集合。

Node是所有类型的基类。

根据上面这张图可以写出如下的👇

HTMLCollection是Element的集合NodeList是Node的集合
