ES6中let、const的介绍及应用

let的特性:

1、在{ }中存在局部作用域;

2、没有变量提升;

const的特性:

1、不存在变量提升问题,只有定义之后才能使用此变量;

2、const定义的常量,无法被重新赋值;

3、当定义常量的时候,必须定义初始化,否则会报错;

4、const定义的常量也有块级作用域。

代码展示

for (let i = 0; i < 5; i++) {
  const a = "hello";
  console.log(a);
}
console.log(a);

输出结果

let的应用

当我们点击这3个按钮的时候都输出的是:“我是第3个按钮”

<body>
    <input type="button" value="按钮1">
    <input type="button" value="按钮2">
    <input type="button" value="按钮3">
    <script type="text/javascript">
        var btns = document.getElementsByTagName("input");
        for (var i = 0; i < 3; i++) {
            btns[i].onclick = function () {
                console.log("我是第" + (i) + "个按钮");
            };
        }
    </script>
</body>

es6的解决方式:使用let声明变量i

<body>
    <input type="button" value="按钮1">
    <input type="button" value="按钮2">
    <input type="button" value="按钮3">
    <script type="text/javascript">
        var btns = document.getElementsByTagName("input");
        for (let i = 0; i < 3; i++) {
            btns[i].onclick = function () {
                console.log("我是第" + (i) + "个按钮");
            };
        }
    </script>
</body>

输出结果

猜你喜欢

转载自www.cnblogs.com/haohao-a/p/10945618.html