概述
我们平常用都是这样的
for (var i = 0; i < 3; i++) {
console.log(i)
}
有时候打印i出来的是2,也有时候是按照顺序打出来的,但是很不稳定。我们要操作就很麻烦,
for (let i = 0; i < 3; i++) {
console.log(i)
}
把var换成let就可以了,因为let
声明的变量只在它所在的代码块有效,
var
命令声明的变量i
,在全局范围内都有效,所以全局只有一个变量i
。每一次循环,变量i
的值都会发生改变,而循环内被赋给数组a
的函数内部的console.log(i)
,里面的i
指向的就是全局的i
。也就是说,所有数组a
的成员里面的i
,指向的都是同一个i
,导致运行时输出的是最后一轮的i
的值,也就是 10。
如果使用let
,声明的变量仅在块级作用域内有效,最后输出的是 6。
想要具体了解可以看这里面介绍 https://es6.ruanyifeng.com/#docs/let
最后
以上就是默默钻石为你收集整理的解决for循环有时只输出最后一个结果的全部内容,希望文章能够帮你解决解决for循环有时只输出最后一个结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复