
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循环有一个特别支出,就是设置循环变量的那部分是一个父作用域,循环体内部是一个单独子作用域