在前端ES6的语法当中,新增了很多的不同于ES4的新语法.
在以往使用var来定义变量时,变量经常会莫名其妙的变成了一个全局的变量,如下:
<script>
for (var i = 0; i < 5; i++) {
console.log(i);
}
console.log("语法外的i:"+i);
</script>
我们打开浏览器的输出台可以看到结果
非常明显的var = i 成为了一个全局的变量,这在某些时候不符合我们的需求
现在ES6标准中新增了let ,被let修饰的变量将只在当前代码块中生效,如下:
<script>
for (let i = 0; i < 5; i++) {
console.log(i);
}
console.log("语法外的i:"+i);
</script>
然后我们重新运行代码,结果如下:
扫描二维码关注公众号,回复:
8931433 查看本文章
被let修饰的i成为了局部变量.
而与let经常一起被使用的还有const,被const修饰的变量将变成一个常量,也就代表该变量无法被更改
<script>
const i = "asd";
console.log(i);
i = "123";
console.log(i);
</script>
当我们运行代码后会出现如下结果:
这便是let和const的用法.