1,作用域的区别
var 的作用域为全局和局部,let和const属于局部作用域
if(true){
var x=20
}
console.log(x)
if(true){
let x=20
}
console.log(x)
var lis=document.getElementsByTagName("li")
for(let n=0;n<lis.length;n++){
//n=0
lis[n].οnclick=function(){
console.log(n)
}
}
2,var存在默认提升功能,let和const不可以
console.log(x)
var x = 20
console.log(x)
let x = 20
3,var可以重复创建,let和const不可以
var index=20
var index=30
console.log(index)
let index=20
let index=30
4,使用var可以默认挂在在Windows上 let和const不可以
var x=20
console.log(window.x)
let y=30
console.log(window.y)
5,let和const 存在暂时性死区问题
var a=30
if(true){
a=40
console.log(a)
let a=50
}