let和const
发布日期:2021-05-07 06:42:43 浏览次数:22 分类:精选文章

本文共 425 字,大约阅读时间需要 1 分钟。

{     let a=1;  var b=11}a //ReferenceError:a is not definedb//11

for循环的计数器适合let

对比两个循环

var a =[]for(var i=0; i<10; i++){     a[i]=function(){        console. log(i)   }}a[6]()//10

以上代码变量i是由var声明的,在全局范围类都有效,所以全局只有一个变量i。每一次循环变量i的值都会发生变化

var a=[]for(let i=0; i<10; i++){     a[i]=function(){   console.log(i)}}a[6]()//6

以上代码使用let声明,当前i只在本轮循环有效,所以每一次循环的i都是一个新的变量,js引擎会记住上一次循环的值

另外 for循环有一个特别支出,就是设置循环变量的那部分是一个父作用域,循环体内部是一个单独子作用域

上一篇:在所有情况下取到顶层对象
下一篇:自己撸一个react

发表评论

最新留言

不错!
[***.144.177.141]2025年03月28日 06时38分13秒