1. var 定义的变量可以修改,没有初始值输出的是 undefined

var test 
console.log('没有初始值', test)  // undefined

test = 1
console.log('赋值1', test)  // 输出 1


  1. const 定义的变量不可修改, 并且必须要初始化

const test = 1 
console.log('有初始值', test)  // 正确

const test1 
console.log(test1)  // 报错

  1. let是块级作用域,函数内部使用let定义后,对函数外部无影响

let test = 1
console.log(test)  // 输出 1

function testDemo () {
    let test = 2
    console.log(2)
}
testDemo()  // 输出 2