2016-08-01 99 views
0

如果我有變量和一個用於建立這樣一個條件循環:瞭解一個JavaScript For循環

var scores = [23, 53, 85]; 
var arrayLength = scores.length; 
var i; 

for(i = 0; i < arrayLength; i++) 

是否i指的0得分陣列編制索引的位置,或者是i只是計數器號碼,它被設置爲0?

我有點理解發生了什麼。

任何幫助表示讚賞!

+2

'i'只是一個數字變量,它在每次迭代中遞增,直到數組的最大值。 –

+0

由於Pranav說這只是一個數字變量,但你可以用它來引用數組的索引,比如'scores [i]' – j08691

回答

1

在這裏,你可以看到它在行動:

var scores = [23, 53, 85]; 
 
var arrayLength = scores.length; 
 
var i; 
 

 
for(i = 0; i < arrayLength; i++) { 
 
    console.log('i = ' + i + ', scores[i] = ' + scores[i]); 
 
} 
 
console.log('End of for loop: i = ' + i);

一個重要的事情要明白的是,i將遞增,直到條件i < arrayLength不再被滿足。所以它達到值3但for循環將立即結束。因此,對於i = 3,循環內的代碼不會執行。

+0

好的,所以如果我在for循環中的var被設置爲'i = 1',然後我運行了'scores [i];',那麼第一次迭代會輸出53? – AB10

+0

是的。這是正確的。 – Arnauld

+0

感謝您澄清並向我展示片段。祝願大家都能做到這一點;這是非常有益的! – AB10

0

i只是其最初(在這種情況下3)設置爲0,並遞增到arrayLength計數器數字

0

i只是指數(在這種情況下)從0向上計數,直到arrayLength。您必須通過使用scores[i]顯式訪問數組中的值,每個i之後您可以以任何您認爲合適的方式修改/使用該值。

+0

這是我理解發生了什麼的明確解釋! – AB10

0

我是櫃檯號碼。

for循環的工作原理是這樣:

對於數組長度的每個值,使用i設定爲計數器變量通過每次循環

遞增i的變量完成後(I ++)

你可以擴展它像這樣...

for(i = 0; i < arrayLength; i++) 
{ 
    console.log('position ' + i + ' is ' + scores[i]); 
}//now that I am done, increment i and go through again until i is no longer less than array length 
0

對,你有設置我作爲變量通過最初去

var i;

在for語句已設置的變量i爲0

for(i = 0; i < arrayLength; i++){ 
} 

然後for語句是說,如果我是小於數組長度運行的語句。每次for語句運行時,由於i ++的原因,我將i加1;

每次for語句都會檢查我是否小於arrayLength,如果它不是,它將退出for。

因此,對於這個實例,每個將運行3次,因爲數組長度爲3。

請確保您有打開和閉合括號聲明

所以你的說法應該是這樣的。對於(i = 0; i < arrayLength; i ++){ }