2021前端面试题总结

1.BFC
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
2.如何创建BFC
1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible
3.数组去重
ES5:
  function unique(arr) {
    let res = arr.filter(function(item, index, array) {
      return array.indexOf(item) === index
    })
    return res
  }
 ES6: let unique = arr => [...newSet(arr)]
4.数组扁平化
数组扁平化就是将 [1, [2, [3]]] 这种多层的数组拍平成一层 [1, 2, 3]。使用 Array.prototype.flat 可以直接将多层数组拍平成一层:[1, [2, [3]]].flat(2)
5.深浅拷贝
浅拷贝:只考虑对象类型。
简单版深拷贝:只考虑普通对象属性,不考虑内置对象和函数。
复杂版深克隆:基于简单版的基础上,还考虑了内置对象比如 Date、RegExp 等对象和函数以及解决了循环引用的问题。

 





posted @ 2021-11-25 16:46  张星星哦  阅读(73)  评论(0)    收藏  举报