快速学习ES6新特性-let 和 const 命令
1.2、let 和 const 命令
var
之前,我们写js定义变量的时候,只有一个关键字: var
var 有一个问题,就是定义的变量有时会莫名奇妙的成为全局变量。例如这样的一段代码:
运行打印的结果是如下:
可以看出,在循环外部也可以获取到变量i的值,显然变量i的作用域范围太大了,在做复杂页面时,会带来很大的问题。
let
let 所声明的变量,只在let 命令所在的代码块内有效。我们把刚才的var 改成let 试试:
结果
这样,就把变量的i的作用域控制在了循环内部。
const
const 声明的变量是常量,不能被修改,类似于java中final关键字。
可以看到,变量a的值是不能修改的。