var、let、const的for循环例子区别

var、let、const的for循环例子区别

var的for循环

在这里插入图片描述
为什么只输出一个lxm,
这是因为循环体内的变量与循环变量是在同个作用域,i被’lxm’赋值,i++,变成NaN, 退出循环
在这里插入图片描述

let的for循环

在这里插入图片描述
为什么i没有报错,且还输出3个lxm
说明循环体内的变量与循环变量是不同的作用域,有自己单独的作用域,且是不同块级作用域
循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。
在这里插入图片描述
可以理解 let 声明模仿了闭包的做法来简化循环过程。
在这里插入图片描述

const的for循环

在这里插入图片描述
输出结果:Uncaught TypeError: Assignment to constant variable.,常量变量赋值
在for循环时,i的值被重新赋值,由于const是一个只读的常量。一旦声明,常量的值就不能改变
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_31093255/article/details/107506232
今日推荐