自己总结的部分面试题,不断更新

184 阅读1分钟

1 统计淘宝网 共有多少种标签

new Set([...document.querySelectorAll('*')].map(v => v.nodeName)).size

2 对象的键和值遍历

Object.keys(obj),forEach(v=> [v,obj[v] ] )

3 冒泡排序

function bubbleSort(arr) {
    let len = arr.length;
    for (let i = 0; i < len; i++) {
        for (let j = 0; j < len - 1 - i; j++) {
            if (arr[j] > arr[j+1]) {        //相邻元素两两对比
                [arr[j + 1], arr[j]] = [arr[j], arr[j + 1]];
            }
        }
    }
    return arr;
}

4  JS异步方案

(1)纯粹callback回调函数  回调地狱  剥夺了函数return能力

(2)promise  代码风格  多个等待合并  不需要层层传递callback

(3)async await  ES2017 小程序 目前不支持

5  写一个函数生成一个随机字符串 , 由用户自定义字符串长度

const chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];

const random = function generateMixed(n) {
  var res = "";
  for (var i = 0; i < n; i++) {
    var id = Math.ceil(Math.random() * 35);
    res += chars[id];
  }
  return res;
}

6 其中关于事件的详细描述,可以看这篇文章

事件绑定、事件监听、事件委托

链接 blog.xieliqun.com/2016/08/12/…

7.前端面试之简历篇

链接:www.jianshu.com/p/a3802f6f4…

8.闭包

闭包:自由变量的查找,是在函数定义的地方,向上级作用域查找 

注意 :不是在执行的地方!!!

未完待续