For Each Loop

var colors = ['red', 'green', 'blue'];

for (var i = 0; i < colors.length; i++) {
  console.log(colors[i]);
}

 

 

forEach with an Anonymous Function

var colors = ['red','green','blue'];

colors.forEach(function(color){
  console.log(color);
});
var numbers = [1,2,3,4,5];
var sum = 0;

numbers.forEach(function(number){
  sum += number;
});

console.log(numbers + ' totals ' + sum);

 

 

forEach with a Declared Function

var colors = ['red','green','blue'];

function myFunction(thing){
  console.log(thing);
}

colors.forEach(myFunction); // we're passing a reference to a function

colors.forEach(myFunction(color)); would not work because myFunction(color)  gets evaluated immediately before the forEach loop gets executed and it does not return a reference to a function.  (It errors out because the color variable is undefined when myFunction gets evaluated.)