gpt4 book ai didi

javascript - 为什么 "undefined"结束 JavaScript 中的循环?

转载 作者:可可西里 更新时间:2023-11-01 01:57:50 25 4
gpt4 key购买 nike

我无法理解这个 for 循环如何在 JavaScript 中终止:

var files = ["A", "B"];
for (var i = 0, f; f = files[i]; i++) {
console.log(f);
}

运行时,屏幕上显示A和B,但是为什么f=files[2]会结束循环呢?如果我在我的控制台中运行 f=files[2],我会得到“未定义”的答案,那么这应该结束循环这一事实背后的基本原理是什么?

奖励问题:为什么不把循环写成下面这样呢?

for (var i=0; i < files.length; i++) {
f = files[i];
console.log(f);
}

这对我来说似乎更清晰且更易于维护,那么是否有某种原因可以使用第一段代码而不是第二段代码?

最佳答案

循环结束,因为undefinedfalsey value.

使用一个而不是另一个的原因是用户偏好。你有一个偏好,而其他人更喜欢另一种方式。其他人可能想使用 while 循环。没有正确的方法。

关于javascript - 为什么 "undefined"结束 JavaScript 中的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com