let


let和var区别

var出了块级区域有效

let出了块级无效

var声明均视为作用域顶部声明 因为var具备变量提升能力

let声明不具备变量提升能力,离开作用域后就会马上失效,适合局部变量容易掌控

变量提升还带有一个问题,声明之前使用产生的结果不相同

var在后面声明前面输出值逻辑怪异,结果显示undefined一般表示变量声明,只是没赋值,一般顺序都是在前面

例子:

console.log(value);
var value;
变量提升导致逻辑怪异
let声明方式不管前后都是引用错误
例子:
//let count放前面可以用符合逻辑
// console.log(count);
// let count//错的详细
 var重复声明只取后面的值
let不能重复声明,重复声明会报错只能声明一个其中一个是var也不行
可以一个在作用域内部,一个在外部(不能使用会混乱)
 
循环时,var和let区别更明显
let只在内部循环有效,后续使用i不会受到干扰
var全局都有效,但是在使用i会受到干扰
 
let和const
const的声明的作用:创建一个常量,声明就不可以更改
和let相同的是,const声明后无法提升,存在临时死区
临时死区:if(true){
死区开始
vlue=10;
console.log(vule);
死区结束
}
 
和let不同的是,const声明后不立马赋值就会报错
 
 
 
 
 
 
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM