ES6课程---3、let和const

ES6课程---3、let和const

一、总结

一句话总结:

let关键字是es6中用来定义变量的,const关键字是es6中用来定义常量的,他们都不可以重复声明,他们都是块级作用域,他们就是es6中用来替代var关键字来声明变量和常量的

1、var关键字定义变量的不足?

1、var关键字可以重复声明变量
2、var关键字无法限制修改(var关键字无法定义常量)
3、var关键字没有块级作用域

2、let关键字最常见的应用?

循环给按钮添加点击事件:let是块级作用域,块中回调函数如果用到变量,变量就会随回调加到内存去
var btns = document.getElementsByTagName('button');
for(let i = 0;i<btns.length;i++){
    btns[i].onclick = function () {
        alert(i);
    }
}

二、let和const

博客对应课程的视频位置:3、let和const
https://www.fanrenyi.com/video/24/198

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>let和const关键字</title>
 6 </head>
 7 <body>
 8 <!--
 9 var关键字定义变量的不足
10 1、var关键字可以重复声明变量
11 2、var关键字无法限制修改(var关键字无法定义常量)
12 PI=3.1415926
13 3、var关键字没有块级作用域
14 块级作用域的好处:避免污染全局环境
15 
16 let关键字:不能重复声明,用来声明变量,块级作用域
17 const关键字:不能重复声明,用来定义常量,块级作用域
18 
19 let关键字最常见的应用
20 循环给按钮添加点击事件
21 
22 
23 
24 
25 
26 -->
27 <script>
28     // var a=10;
29     // var a=12;
30     // console.log(a);
31 
32     //用立即执行的匿名函数来模拟块级作用域
33     // (function () {
34     //     //块级作用域
35     // })();
36 
37     // let a=10;
38     // let a=12;
39     // console.log(a);
40 
41     // const aa=11;
42     // const aa=13;
43     // console.log(aa);
44 
45     // let a=10;
46     // a=12;
47     // console.log(a);
48 
49     // const aa=11;
50     // aa=13;
51     // console.log(aa);
52 
53     //什么是代码块
54     {
55         //let a=10;
56         //const aa=11;
57         //var aaa=13;
58         // console.log(a);
59         //console.log(aa);
60     }
61     //console.log(a);
62     //console.log(aa);
63     //console.log(aaa);
64 
65     //选择结构中的代码块
66     // if(true){
67     //     let a=10;
68     //     //console.log(a);
69     // }
70     // console.log(a);
71 
72     //循环结构中的代码块
73     // for(let i=0;i<=5;i++){
74     //     let b=10;
75     //     //console.log(b);
76     //     //console.log('i='+i);
77     // }
78     // //console.log(b);
79     // console.log('i='+i);
80 
81 </script>
82 </body>
83 </html>

let关键字最常见的应用
循环给按钮添加点击事件

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>let应用小实例</title>
 6 </head>
 7 <body>
 8 
 9 <!--按钮循环遍历加监听实例-->
10 <!--需求:
11 点击按钮0,弹出'按钮0',
12 点击按钮1,弹出'按钮1',
13 点击按钮2,弹出'按钮2'
14 -->
15 <button>按钮0</button>
16 <button>按钮1</button>
17 <button>按钮2</button>
18 <script>
19     var btns = document.getElementsByTagName('button');
20     for(let i = 0;i<btns.length;i++){
21         // (function (i) {
22         //     btns[i].onclick = function () {
23         //         alert('按钮'+i);
24         //     };
25         // })(i);
26         btns[i].onclick = function () {
27             alert('按钮'+i);
28         };
29     }
30     console.log(btns[0].onclick);
31     console.log(btns[1].onclick);
32     console.log(btns[2].onclick);
33 </script>
34 </body>
35 </html>

 
let关键字最常见的应用
循环给按钮添加点击事件
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12616933.html