区别1:作用域不同
var (function scope)
function scope:指的是var定义的变量的作用于实在一个function中,如果外侧没有function,则为全局
if(1==1){
var count = 10
}
console.log(count)
在函数中
var f1=function(){
if(1==1){
var count = 10
}
}
f1()
console.log(count)
let和const 块作用域
块作用域值得是变量的作用域只能是自身定义外侧最近的一对{}内
if(1==1){
let count = 10
const num=10
}
console.log(count)
console.log(num)
是否够可以重复定义
var定义的变量可以重复定义,let和const不可以
var count = 10
var count = 20
console.log(count)
let num = 10
let num = 20
console.log(num)
let和const的区别
let的值可以改变,而const不可以直接改变变量。但是可以改变const变量的属性
const person = {
name: 'tom',
age: 10
}
console.log(person)
person.age = 10
console.log(person)
const num = 10
num = 20
console.log(num)
注意
在实际开发中建议根据自己的需求和使用场景选择合适的变量定义方式。
如果变量只是在代码块中使用建议使用let,适当的减少var的使用