Используйте для цикла, когда вы теперь количество элементов перед циклом. Например, зацикливание на элементах массива или похожего на массив объекта:
var items = [];
....
for(var i = 0; i < items.length; i++){
...
}
Если вы перебираете поля какого-либо объекта, вы можете использовать следующую форму цикла for:
var obj = {};
...
for(var field in object){
//access each value as object.field
}
while-цикл, используется, когда вы не знаете термин, когда цикл завершен.
цикл do-while используется также, когда вы не знаете термин, когда цикл завершен, но вам нужно выполнить итерацию хотя бы один раз
Сравните:
do{
//do something, then check the term
}while(check the term)
против
while(check the term){
//do something
}
PS: есть форма цикла for - так называемый foreach, но я не уверен, что он стандартный, поэтому я пока не использую его.