《JavaScript面试大师》系列文章的核心在于沿用应试教育的套路,采取:知识点+刷题的模式来加深巩固理解,目的在于斩获心仪offer,更高的目的在于提升对语言本身的理解,达到融会贯通。
debounce面试题:
- 说说对于防抖的理解
- 说说防抖和节流的区别
- 实现防抖函数
面试题1:说说对于防抖的理解
解答:防抖是为了优化页面的性能,当用户交互特定时间,才产生响应,减少交互响应次数
参考:
面试题2:说说防抖和节流的区别
解答:防抖和节流都是为了优化页面的性能,避免响应频繁而过多使用资源。以短时间持续用户交互来说,防抖总是“最后一次交互说了算”,节流总是“第一次交互说了算”
面试题3:实现防抖函数
解答:使用了闭包保存上个响应状态,setTimeout延迟执行
function debounce(fn, time){
var timeout = null;
return function(){
clearTimeout(timeout);
setTimeout(fn, time);
}
}
tip:想要深入了解防抖请看《JavaScript娓娓道来_debounce防抖》