浅谈var,let,const
Posted xytx906
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈var,let,const相关的知识,希望对你有一定的参考价值。
众所周知,var,let 是声明变量的,const是声明常量的
先简单剖析一下,var,let的区别
var 在ES6之前使用,而到了ES6之后官方就不推荐使用了,究其原因还是因为它自身的原因,导致代码令人感觉不太合理。
console.log(num); var num = 10; // 打印 undefined, 而不是报错, 这说明var将变量的声明提升
// var num; num = 10; console.log(num); // 打印 10, var 将变量num的声明提升到最顶层 var num;
for(var i=0;i<5;i++) console.log("222222",i); console.log("ssss",i) //由于用var声明的i,所以在这里能获取到for循环中的i,产生了变量污染
而如果换成let的话就会提示很正确的错误。
console.log(num1); let num1 = 10; //Uncaught ReferenceError: Cannot access \'num1\' before initialization
for(let i=0;i<5;i++) console.log("222222",i); console.log("ssss",i) //Uncaught ReferenceError: i is not defined 这是正常的错误
const 声明的常量不能修改;
const num = 10 num = 11 // TypeError: Assignment to constant variable. console.log("num:",num)
const num; num = 10; // Uncaught SyntaxError: Missing initializer in const declaration console.log(num)
以上是关于浅谈var,let,const的主要内容,如果未能解决你的问题,请参考以下文章