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


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

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




总结:


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



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

四、 箭头函数
- 箭头函数有什么缺点?
没有arguments;没有prototype;不能用于构造函数。
无法通过 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...of遍历对象的属性:如果需要遍历对象的属性,可以使用 Object.entries() 将对象转为数组再进行遍历
for await ...of有什么作用?
有个createPromise函数👇


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

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

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

七、offsetHeight和scrollHeight和clientHeight的区别
offsetHeight: 总高度。但不包括滚动条、外边距(margin),只是可见部分的。
scrollHeight:内容实际总高度。包括溢出不可见的高度,即使有些内容被滚动条隐藏在下面也会被计算。
clientHeight:元素的可见内容区域高度。
如果内容没有超出可视区域,clientHeight 就等于 scrollHeight。
- 盒子模型
width height padding boeder margin box-sizing
✨

 
八、HTMLCollection和NodeList的区别
这两个类型都是包含了很多元素的集合。

Node是所有类型的基类。

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

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


                    
                
                
            
        
浙公网安备 33010602011771号