前段面试题(8)

1、forEach、for in、for of三者区别
 forEach更多的用来遍历数组
 for in 一般常用来遍历对象或json
 for of数组对象都可以遍历,遍历对象需要通过和Object.keys()
 for in循环出的是key,for of循环出的是value

2、var、let、const之间的区别
 var  可以重复声明变量,而let不可以重复声明
 var 是不受限于块级作用域的,而let是受限于块级作用域
 va  声明的变量会挂载到window上,而let不与window相映射
 var 可以在声明的上面访问变量,而let有暂存死区,在声明的上面访问变量会报错
 const声明之后必须赋值,否则会报错
 const定义不可变的量,改变了就会报错
 const和let一样不会与window相映射、支持块级作用域、在声明的上面访问变量会报错

3.异步同步
    异步:向服务器发送请求,必须等请求到内容,才能刷新页面,用户才能看到新内容
    同步:向服务器发送请求,这时可以做其他事情,内容请求到时,用户不用刷新页面,也可以看到新内容

4.箭头函数和普通函数的区别?
 区别:this指向不同;
    普通函数:谁调用这个函数,this指向谁;
    箭头函数:在哪里定义函数,this指向谁。


5. 数组去重
  1.es6 中的set
  2.遍历去重
     fliter   :  当前的index与indexOf(elem)的值不一致去重
      对象key唯一 :用一个临时对象把数组的值,当key存储在对象中,如果对象上已经有key值,说明数组的值是重的 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值