*
@method forEach([fn], [scope])
@returns Nothing
@short Iterates over the array, calling [fn] on each loop.
@extra This method is only provided for those browsers that do not support it natively. [scope] becomes the %this% object.
@example

['a','b','c'].forEach(function(a) {
// Called 3 times: 'a','b','c'
});

*
function(fn, scope) {
      var length = this.length, index = 0;
      checkCallback(fn);
      while(index < length) {
        if(index in this) {
          fn.call(scope, this[index], index, this);
        }
        index++;
      }
    }