gpt4 book ai didi

javascript - 这两个循环表达式的语法是什么意思?

转载 作者:行者123 更新时间:2023-11-30 08:11:54 26 4
gpt4 key购买 nike

这两个表达式是什么var i = 0, item; item = a[i++]; 是什么意思?

for (var i = 0, item; item = a[i++];) {  
// Do something with item
}

显然这是

的替代品
for (var i = 0; i < a.length; i++) {  
// Do something with a[i]
}

最佳答案

for (var i = 0, item; item = a[i++];) {  
// Do something with item
}

告诉循环只要 item 被分配一个“真实”值就继续运行。每次迭代后,item 被分配到数组中的下一个项目。这个想法是,一旦 i 到达超出数组边界的位置,undefined 将被赋值,循环将终止。

但是应该解雇编写这段代码的人,因为如果数组包含任何“虚假”值,循环也会终止:0、空字符串、false 好的,这段代码是由 Mozilla 人员编写的,而且他们比我聪明得多。请注意,如果数组包含任何“假”值,循环将终止:0空字符串false

亲眼看看:

var a = [1, 2, 3, 0, 5, 6];

for (var i = 0, item; item = a[i++]; ) {
alert(item);
}

注意循环在 3 之后终止,因为 0 是假的。

关于javascript - 这两个循环表达式的语法是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072495/

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