试图理解javascript中的循环

时间:2018-01-17 19:05:59

标签: javascript for-loop

我正在使用JavaScript实现HTML5拖放,我找到了一些实际工作的示例代码。但是这一段代码对我来说没有意义。这段代码在做什么?

// fetch FileList object
var files = e.target.files || e.dataTransfer.files;

// process all File objects
for (var i = 0, f; f = files[i]; i++) {

}

我对FOR循环感到困惑。我理解它的基本用途:

for (var i = 1; i < 5; i++)

但这是如何运作的?什么是var i = 0, f

1 个答案:

答案 0 :(得分:1)

初始化表达式var i = 0, f声明了两个变量ifi初始化为零,而f未初始化。然后,对于循环中的每次迭代,i数组中位置files的值被分配给f。此赋值的结果被评估为循环条件。在每次迭代结束时,i的整数值加1。

在高级别,这只是迭代files数组中的值,将每个值分配给f以便在循环体中使用。一旦到达files数组中没有真值的索引,就会退出循环。这里假设files数组中的所有有效值都是真实的。