面试 - 前端基础速刷

一、

  • 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是所有类型的基类。

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

  • HTMLCollectionElement的集合
  • NodeListNode的集合

posted @ 2024-10-08 16:45  一个甜橙子  阅读(12)  评论(0)    收藏  举报