前端开发笔试/面试

1、使用ES5实现该方法

1 const obj = {a:1,b:2,c:3};
2 function foo(o,arr) {
3     let obj = {};
4     arr.map(function (key) {
5         obj[key] = o[key];
6     });
7     console.log(obj);
8 }
9 foo(obj,["a","c"]); //输出 {a:1,c:3}

2、服务端如何区分不同用户

3、循环/闭包

 1 //每隔1秒打印出一个5
 2 for (var i = 0; i < 5; i++) {
 3     setTimeout(function() {
 4         console.log(i);
 5     }, 1000 * i);
 6 }
 7 
 8 //每隔1秒打印出:0 1 2 3 4
 9 for (var i = 0; i < 5; i++) {
10     (function(i) {
11         setTimeout(function() {
12             console.log(i);
13         }, i * 1000);
14     })(i);
15 }
16 
17 //每隔1秒打印出一个5
18 for (var i = 0; i < 5; i++) {
19     (function() {
20         setTimeout(function() {
21             console.log(i);
22         }, i * 1000);
23     })(i);
24 }
25 
26 for (var i = 0; i < 5; i++) {
27     setTimeout((function(i) {
28         console.log(i);
29     })(i), i * 1000);
30 }
31 
32 //控制台打印:2 3 5 4 1
33 setTimeout(function() {
34     console.log(1)
35 }, 0);
36 new Promise(function executor(resolve) {
37     console.log(2);
38     for( var i=0 ; i<10000 ; i++ ) {
39         i == 9999 && resolve();
40     }
41     console.log(3);
42 }).then(function() {
43     console.log(4);
44 });
45 console.log(5);
原文地址:https://www.cnblogs.com/shuqicui/p/2017-6-20.html