以下是2018年年初,面某公司的笔试题。为啥现在才分享出来,纯粹是因为之前懒。只分享题,没有答案。
1.请通过代码实现下面的效果
function add(num){ var total = 0; var curryAdd = function(num){ total = total + num; return total; } return curryAdd; } console.log(add(2)(3)); //结果为5 console.log(add(2)(3)(4)(5)); // 结果为14
2.请回答按钮点击前后,代码中的两个console.log在浏览器控制台的输出信息
并解释现象背后的原因.
let count = 0; class MyComponent extends React.Component{ constructor(){ super(); this.state = { count : count }; } componentWillMount(){ this.setState({ count : ++count }); this.setState({ count : ++count }); setTimeout(() => { this.setState({ count : ++count }); this.setState({ count : ++count }); }, 1000); } componentDidMount(){ this.button.addEventListener("click", this.onClick.bind(this, "原生浏览器事件"), false); } onClick(info) { console.log(info); this.setState({ count : ++count }); this.setState({ count : ++count }); } render() { console.log(this.state.count); return (); } } ReactDOM.render(Count : {this.state.count}, mountNode);
3.throttle的简单实现
function throttle(func, duration) { // 在这里编写具体实现 } window.addEventListener("scroll", throttle(func, 50), false);
4.实现一个深度优先搜索算法(非递归)
function dfs(tree, name){ // 请在这里实现 } var tree = { name : "中国", children : [ { name : "北京", children : [ { name : "朝阳群众" }, { name : "海淀区" }, { name : "昌平区" } ] }, { name : "浙江省", children : [ { name : "杭州市", code : 0571, }, { name : "嘉兴市" }, { name : "绍兴市" }, { name : "宁波市" } ] } ] }; var node = dfs(tree, "杭州市"); console.log(node); // { name: "杭州市", code: 0571 }
5.编写一个简单的自定义事件处理器: 1.具备 on 方法绑定事件, 2.具备 off 方法解绑事件
function EventEmitter () { // TODO } var emitter = EventEmitter(); emitter.on("foo", function(e){ console.log("listening foo event 1", e); }); emitter.on("foo", function(e){ console.log("listening foo event 2", e); }); emitter.on("bar", function(e){ console.log("listening bar event", e); }); // 监听全部事件 emitter.on("*", function(e){ console.log("listening all events"); }); emitter.trigger("foo", {name : "John"}); emitter.trigger("bar", {name : "Sun"}); emitter.trigger("*", {name : "Sun"}); emitter.off("foo");
6.请用原生 JS 实现 DOM 拖动效果,尽量多考虑兼容以及其他可能的情况
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/100120.html
摘要:注意点这个代码是严格依赖环境的,例如中和是连续的,在编译器中,和之间有一个空间。注意点当把与交换之后,程序将不会出现死循环,但是程序的越界访问报错是少不了的。注意点这种优化是无差别的,即无论你的代码是否越界,都会进行这样的优化。 目录 声明 原题 题目详细解析 运行结果: 题目...
摘要:顺便一说,这首歌的原唱是秋田,中岛当年嗓子坏了,才有这歌。中文是直接翻译来的,作曲是秋田。一部电影春夏秋冬又一春春夏秋冬又一春是由金基德执导,金英民吴英秀金基德主演的一部韩国电影。年月日于韩国上映。 原链接: http://bluezhan.me/weekly/#/9-2 1、web前端 Angular vs. React vs. Vue: A 2017 comparison 9 S...
摘要:顺便一说,这首歌的原唱是秋田,中岛当年嗓子坏了,才有这歌。中文是直接翻译来的,作曲是秋田。一部电影春夏秋冬又一春春夏秋冬又一春是由金基德执导,金英民吴英秀金基德主演的一部韩国电影。年月日于韩国上映。 原链接: http://bluezhan.me/weekly/#/9-2 1、web前端 Angular vs. React vs. Vue: A 2017 comparison 9 S...
摘要:三月去面试了几家公司,不大不小,把面试时面试官问的问题总结一下供大家参考。很明显,面试时问题以及出现频率非常高,并且包括,在方面问的比较多的主要是跨域以及。面试时更侧重于在实际项目中,遇到问题你是怎么解决的。 三月去面试了几家公司,不大不小,把面试时面试官问的问题总结一下供大家参考。很明显,面试时问题vue以及react出现频率非常高,并且包括webpack,在JS方面问的比较多的主要...
阅读 2352·2021-09-30 09:47
阅读 1346·2021-09-28 09:35
阅读 3220·2021-09-22 15:57
阅读 2453·2021-09-22 14:59
阅读 3608·2021-09-07 10:25
阅读 3042·2021-09-03 10:48
阅读 3015·2021-08-26 14:14
阅读 902·2019-08-30 15:55