开课吧2020Web前端开发常见面试题及

北京皮炎医院网站 http://m.39.net/pf/a_9051934.html
Web前端开发面试题及答案

问题:实现节流函数(throttle)

解析:防抖函数原理:规定在个单位时间内,只能触发次函数。如果这个单位时间内触发多次函数,只有次生效。

//手写简化版

//节流函数

constthrottle=(fn,delay=)=

{letflag=true;

return(...args)=

{if(!flag)

return;flag=

false;

setTimeout(()={

fn.apply(this,args);

flag=true;

},delay);

};

};

适用场景:

拖拽场景:固定时间内只执行次,防止超高频次触发位置变动

缩放场景:监控浏览器resize

动画场景:避免短时间内多次触发动画引起性能问题

问题:实现防抖函数(debounce)

解析:防抖函数原理:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。

手写简化版:

//防抖函数

constdebounce=(fn,delay)=

{lettimer=null;

return(...args)=

{clearTimeout(timer);

timer=setTimeout(()={

fn.apply(this,args);

},delay);

};

};

适用场景:

按钮提交场景:防止多次提交按钮,只执行最后提交的次;

服务端验证场景:表单验证需要服务端配合,只执行段连续的输如事件的最后次,还有搜索联想词功能类似生存环境请用lodash.debounce。

以上就是小科今天整理提供的Web前端开发面试题,希望为Web前端同学提供了有用的面试素材,以后小科每日均会提供Python、Web及MySQL数据库相关的习题。学习没有捷径,希望大家都能少走一些弯路,顺利找到工作!




转载请注明:http://www.aierlanlan.com/cyrz/4603.html