for (var part; parts.length && (part = parts.shift());) {}
我认为for循环只能是这样的:
for (var part = 0; i < that.length; part++) {}
那是什么意思?
答案 0 :(得分:1)
for
循环如下:
for (<declarations>; <!break_condition>; <after_each_iteration>)
最常见的是在第一个语句中看到计数器初始化,在否定的中断条件中看小于或大于条件,在最终语句中看到计数器递增。
但是,只要它们在语法上有效,这三个部分的内容都可以是任何内容。
有问题的循环遍历数组或对象parts
的元素,删除这些元素。
答案 1 :(得分:0)
基本上你可以像这样重写一个for循环:
常见for循环使用示例:
for( var part = 0; i < that.length; part++) {}
重写为:
var part = 0;
while (i < that.length) {
// user code
part++;
}
在另一个案例中,它是相同的:
for (var part; parts.length && (part = parts.shift());) {}
重写为:
var part;
while (parts.length && (part = parts.shift())) {
// user code
// no post code
}
答案 2 :(得分:0)
阅读this可能会解释很多。
for (initial-expression; condition; final-expression) {
// Block of code.
}
初始表达式在循环开始之前运行一次。
检查条件是否为真,如果为真,则运行最终表达式。
重复运行表达式(连同代码块),直到条件为假。
你可以在任何这些位置放置任何东西。
你甚至可以做for(;;) { }
,这被称为永久循环。
你也可以做一个纯粹的条件循环。
for (prop in object)
是最常见的形式。
答案 3 :(得分:-1)
那是什么意思?
这意味着某人没有写出好的代码。
它本应该像....
while (parts.length > 0)
{
var parts = parts.shift();
if (parts == null)
break;
...