美文网首页程序员
JS前端面试题

JS前端面试题

作者: 森森deHOME | 来源:发表于2020-07-07 14:18 被阅读0次

1.介绍js的基本数据类型?

 Undefined,Null,Boolean,Number,String

2.介绍js有哪些内置对象?

Object是JavaScript中所有对象的父对象
数据封装类对象:Object,Array,Boolean,Number和String
其他对象:Function,Arguments,Math,Date,RegExp,Error

3.ES5和ES6分别几种方式声明变量

ES5两种:var和function
ES6有六种:增加4种:let,const,class,import
注意:let,const,class声明的全局变量再也不会和全局对象的属性挂钩

4.闭包的概念?优缺点?

优点:
1.避免全局变量的污染
2.希望一个变量长期存储再内存中(缓存变量)
缺点:
1.内存泄漏(消耗)
2.常驻内存,增加内存使用量

5.数组去重的方法

1.ES6的Set
let arr = [1,1,2,3,4,5,6,7];
let arr2 = [...new Set(arr)];

2.reduce()
let arr = [1,1,2,3,4,5,6,7];
let arr2 = arr.reduce(function(ar,cur){
    if(!ar.includes(cur)){
      ar.push(cur);
   }
return ar;
},[])

3.filter()
let arr = [1,1,2,3,4,5,6,7];
let arr2 = arr.filter(function(item,index){
   return arr.indexOf(item) === index
})

6.DOM事件有哪些阶段?谈谈对事件代理的理解

分为三大阶段:捕获阶段--->目标阶段--->冒泡阶段
事件代理简单说就是:事件不直接绑定到元素上,而是绑定到该元素的父元素上,进行触发事件操作时(例如‘click’),再通过条件判断,执行事件触发后的语句(alert(e.target.innerHTML))
好处:
1.使代码更简洁
2.节省内存开销

7.async和await

主要考察宏任务和微任务,搭配promise,询问一些输出的顺序
原理:async和await用了同步的方式去做异步,async定义的函数的返回值是promise,await后面的函数会先执行一遍,然后就会跳出整个async函数来执行js栈的代码

相关文章

网友评论

    本文标题:JS前端面试题

    本文链接:https://www.haomeiwen.com/subject/wnpaqktx.html