前端面试题汇总 第一周 如何判断this的指向 JS中基本数据类型有哪几种?null 是对象吗?基本数据类型和复杂数据类型有什么区别? 说一说你对HTML5语义化的理解 如何让 (a == 1 && a == 2 && a == 3) 的值为true? 防抖(debounce)函数的作用是什么?有哪些应用场景,请实现一个防抖函数。 最佳答案:【Step-By-Step】一周面试题 && 答案汇总 / 周刊01 第二周 节流(throttle)函数的作用是什么?有哪些应用场景,请实现一个节流函数 说一说你对JS上下文栈和作用域链的理解? 什么是BFC?BFC的原理是什么?如何创建BFC? let、const、var的区别有哪些? 深拷贝和浅拷贝的区别是什么?如何实现一个深拷贝? 最佳答案:【Step-By-Step】一周面试题深入解析 / 周刊02 第三周 setTimeout 倒计时为什么会出现误差? 浏览器事件代理机制的原理是什么? 如何隐藏页面中的某个元素? 什么是XSS攻击,XSS攻击可以分为哪几类?我们如何防范XSS攻击? 最佳答案:【Step-By-Step】一周面试题深入解析 / 周刊03 第四周 什么是闭包?闭包的作用是什么? 实现 Promise.all 方法 异步加载 js 脚本的方法有哪些? 请实现一个 flattenDeep 函数,将嵌套的数组扁平化 可迭代对象有什么特点? 最佳答案:【Step-By-Step】高频面试题深入解析 / 周刊04 第五周 实现 Promise.race 方法 JSONP原理及简单实现 实现一个数组去重的方法 清除浮动的方法有哪些? 编写一个通用的柯里化函数currying 最佳答案:【Step-By-Step】高频面试题深入解析 / 周刊05 第六周 原型链继承的基本思路是什么?有什么优缺点? 借用构造函数和组合继承基本思路是什么?有什么优缺点? 原型式继承的基本思路是什么?有什么优缺点? 寄生式继承的基本思路是什么?有什么优缺点? 寄生组合式继承的基本思路是什么?有什么优缺点? 最佳答案:【Step-By-Step】高频面试题深入解析 / 周刊06