1. var 定义变量可以修改,可以不赋值,不赋值的结果为undefined, 值得注意的一点是在for循环中要输入 a += "..."; a要先定义一个空值,否则会先输入一个undefined.
var a = 1;
console.log('a:' + a) // a: 1
a = 2;
console.;log('a:' + a) // a: 2
var b;
console.log('b:' + b) // b: undefined
2. let 属于块级作用域,可以初始化赋值,也可以在接下来的脚本中修改值,
与var
关键字不同的是,它声明的变量只能是全局或者整个函数块的,对函数外部无影响。
let a = 1;
console.log('a:' + a); // a: 1
function lets(){
let a = 2;
console.log('a:' + a); // a: 2
}
lets();
console.log('a:' + a); // a: 1
3. const 定义的变量无法修改,且必须赋值,并无法再次定义
const a = 5; // 正确
a = 6; // 报错
const a = 7; // 报错 无法再次定义变量a
const b; // 报错 必须赋值!