var ——ES5 变量声明方式;
在变量未赋值时,变量undefined(为使用声明变量时也为undefined);
作用域——var的作用域为方法作用域;只要在方法内定义了,整个方法内的定义变量后的代码都可以使用;
let——ES6变量声明方式;
在变量为声明前直接使用会报错;
作用域——let为块作用域——通常let比var 范围要小;
let禁止重复声明变量,否则会报错;var可以重复声明;
const——ES6变量声明方式;
const为常量声明方式;声明变量时必须初始化,在后面出现的代码中不能再修改该常量的值;
const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动;