在平时敲代码的过程中我们经常需要声明变量,通常使用var和let,那这两者有什么区别呢?下面给大家讲一下
1,let 不存在变量提升,var 会变量提升:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 </head>
7 <body>
8 </body>
9 <script type="text/javascript">
10 console.log(a);
11 let a="10";
12 console.log(b);
13 var b="11";
14 </script>
15 </html>
运行效果如下
js代码在执行的时候是从上往下执行的,在浏览器运行的时候使用let声明的a不存在,所以会报错,而var声明的b则在浏览器运行的时候就存在了,但未赋值所以打印undefined
2.let 只能声明一次 var 可以声明多次
let一个变量只能声明一次,重复声明会报错
var一个变量可以声明多次,在同一代码块内声明多次则最后一次初始化的值会覆盖前面的
3.let 是在代码块内有效,var 是在全局范围内有效![](https://i-blog.csdnimg.cn/blog_migrate/480a2fdfaca461f2b47f2afe89795e86.png)
运行效果
相比之下,个人觉得let好用一些,看大家也是使用let居多,推荐大家能用let就不用var