几道前端面试题
2017-09-22 10:32
387 查看
这几天跑了好多宣讲会,也做了不少笔试,给我印象最深的还是这些笔试题没有一道和前端技术有关的,大多数都是算法题
.好吧,言归正传有两道题 我影响深刻.
1.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b.
这题我做的时候一直在想怎么用JS写出来,想了好久感觉没写好,于是回来后仔细思考了下,总算是写出来比较满意的解法了.
2.function repeat (func, times, wait) {} 这个函数能返回一个新函数,比如这样用var repeatedFun = repeat(alert, 10, 5000)调用这个 repeatedFun ("hellworld")会alert十次 helloworld, 每次间隔5秒 .
这题就是闭包的运用
.好吧,言归正传有两道题 我影响深刻.
1.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b.
这题我做的时候一直在想怎么用JS写出来,想了好久感觉没写好,于是回来后仔细思考了下,总算是写出来比较满意的解法了.
function least(string){ var o={}; var len=string.length; for(var i=0;i<len;i++){ var k=string.charAt(i); if(o[k]){ o[k]++; }else{ o[k]=1; }; } var min=len; for(var k in o){ if(min>o[k]){ min=o[k]; } } for(var k in o){ if(min==o[k]){ console.log(k) } } }
2.function repeat (func, times, wait) {} 这个函数能返回一个新函数,比如这样用var repeatedFun = repeat(alert, 10, 5000)调用这个 repeatedFun ("hellworld")会alert十次 helloworld, 每次间隔5秒 .
function repeat (func, times, wait) { return function(str){ for(var i=0;i<times;i++){ (function(){ setTimeout(function timer(){ func(str) },wait*i) })(i) } } } var repeatedFun = repeat(alert, 10, 5000); repeatedFun ("hellworld");
这题就是闭包的运用
相关文章推荐
- 【web前端面试题整理05】做几道前端面试题休息休息吧
- 几道前端比较绕的前端面试题
- 几道常考的前端面试题(蘑菇街)系列一
- 几道前端的面试题
- 前端面试题搜集之二——HTML
- 【转】一次前端面试题
- 几道面试题
- 第136天:Web前端面试题总结(理论)
- web前端面试题 数组旋转
- 前端面试题--js切换td中的值
- 第138天:Web前端面试题总结(编程)
- 前端开发面试题及答案
- 常见的前端面试题(二)
- 一些前端面试题的整理
- 前端攻城狮学习笔记六:常见前端面试题之HTML/CSS部分(一)
- 前端面试:精选经典面试题(四十二)
- 前端面试:精选经典面试题(二十二)
- 前端面试:精选经典面试题(三十五)
- HTML前端面试题
- 自己总结的web前端面试题之数据库