首页 > 代码库 > 前端笔试题总结

前端笔试题总结

1、异步执行函数

实现函数asyncEach,依次执行函数func1,func2,func3的异步控制

function func1(){  setTimeout(function(){console.log("func1")},Math.random()*1000)}function func2(){  setTimeout(function(){console.log("func2")},Math.random()*1000)}function func3(){  setTimeout(function(){console.log("func3")},Math.random()*1000)}asynEach(func1,func2,func3);//输出结果:func1func2func3

2、事件管理器

实现事件管理器EventManager,实现sub/pub机制,一个事件可以被多个订阅,每个订阅能依次收到事件消息,参考用例:

EventManager.register("event1",function(){  console.log("event1 triggerd");})  EventManager.register("event1",function(){  console.log("event1_1 triggerd");})  EventManager.register("event2",function(){  console.log("event2 triggerd");})  EventManager.triggerd("event1");EventManager.triggerd("event2");//输出结果是:event1 triggerdevent1_1 triggerdevent2 triggerd

3、对比字符串的差异

实现函数diff,对比两个字符串str1和str2的差异,并列出一行为单位的添删的改动项

str1="dbccdef";

str2="abcdefg";  

输出str2相对str1的变动,位置计数从0开始:

0:modify:d:a

2:delete:c

7:add:g

 

4、红楼梦

给出一张包含100个词的词库列表word_list(字符串数组),实现stat函数的统计《红楼梦》book_str(字符串)中出现的次数。

 

如果没有词库的情况下,查找使用频率最高的100个词,该怎么做?

前端笔试题总结