js中let和var的区别
2017-06-19 14:38
218 查看
js中使用let定义变量的时候,是需要使用严格模式的,我看到网上有的博客说:如果在不使用严格模式的情况下,使用let会报错,但是在实验的过程中,我直接定义了let变量而且也没有使用严格模式,并没有报任何的错误。所以使用let的时候不使用严格模式会报错的情况不做过多的解释。
我们在使用let的时候添加上'use strict'即可,按照要求来使用let。
我们在使用let的时候添加上'use strict'即可,按照要求来使用let。
1.声明之后未赋值的情况,表现相同,都是undefined
<script type="text/javascript"> 'use strict'; (function(){ var a; let b; console.log(a);//输出undefined console.log(b);//输出undefined })(); </script>
2.重复声明同一个变量名并且两者的作用域相同的情况下,表现是不同的
<script type="text/javascript"> 'use strict'; (function(){ var a='kka'; let b='akk'; //重新赋值 var a='kkaNew'; let b='akkNew'; console.log(a);//输出kkaNew console.log(b);//程序报错 Uncaught SyntaxError: Identifier 'b' has already been declared })(); </script>
3.如果还是同一个变量名,但是作用域不同的情况下,两者的表现也是不同的
<script type="text/javascript"> 'use strict'; (function(){ var a='kka'; let b='akk'; //重新赋值 if(true){ var a='kkaNew'; let b='akkNew'; } console.log(a);//输出kkaNew console.log(b);//输出akk })(); </script>
//说明在var定义变量的时候'{}'里面的a和外面的a是同一个,所以a的值会被覆盖掉
//使用let定义变量的时候'{}'里面的b和外面的b不是同一个,所以b的值并没有发生改变
相关文章推荐
- js中let和var定义变量的区别
- js中用this,var,let 声明的变量的区别
- js 中const, var, let的区别
- JS中的变量声明——var,let,const的区别
- js中let和var定义变量的区别
- js中let 、 var 、 const的区别
- JS中var、let、const区别? 用3句话概括
- JS中const,var,let区别
- js中let和var定义变量的区别
- JS中的块级作用域,var、let、const三者的区别
- js中const,var,let区别
- js中const,var,let区别
- js中let和var定义变量的区别
- js:let和var区别,js原生的dom选择器
- js中const,var,let区别
- js中let和var 的区别
- js中const,var,let区别
- js中let和var定义变量的区别
- js中const,var,let区别
- JS中const、var 和let的区别