let const var 区别
Posted 击鼓卖糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了let const var 区别相关的知识,希望对你有一定的参考价值。
var
具有变量提升,但是JS没有块级作用于所以例如for循环当中var声明的变量,再for循环外部可以直接访问到
1 for(var i = 0 ; i < 10 ; i++){ 2 3 } 4 console.log(i); //10
1 for(var i = 0 ; i < 10 ; i++){ 2 setTimeout(function(){ 3 console.log(i); //打印十次10 4 },1000) 5 }
let
和var非常相似,区别在于,声明的变量,只在当前作用域内可以被访问,并且不允许重复声明
//for内部定时器访问 for(let i = 0 ; i < 10 ; i++){ setTimeout(function(){ console.log(i);//分别打印0-9 },1000) } //for外部访问 for(let i = 0 ; i < 10 ; i++){ } console.log(i) //报错 Uncaught ReferenceError: i is not defined //重复声明 let a = 1; let a = 2; //报错 //Uncaught SyntaxError: Identifier ‘a‘ has already been declared
const
没的说,常量
作用全局,不能重复声明,如果是对象,可以修改对象内的属性
以上是关于let const var 区别的主要内容,如果未能解决你的问题,请参考以下文章