1.var let const 区别:
// 1. var 会声明提升
console.log(n) // undefined
var n = 2
// 2.var 会变量覆盖
var n = 1
var n = 2
console.log(n) // 2
// 3. var 没有块级作用域
function fn(){
for(var i = 0;i < 3;i++){
console.log(i) // 0 1 2
}
console.log(i) // 3
}
fn()
// const 值不可改
// const 声明必须赋值
// const let 支持块级作用域
const a = 1
const a = 2
2.数组去重
const arr = [1,2,3,3,4,2]
const newArr = [...new Set(arr)]
console.log(newArr) // [1, 2, 3, 4]
3.Promise标杆面试题
// 1 2 4 3
// 构造函数同步执行
const promise = new Promise((resolve,reject)=>{
console.log(1)
resolve()
console.log(2)
// then 方法异步执行
}).then(()=>{
console.log(3)
})
console.log(4)