whole_func_string: 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++;
        }
      }
func_code_string: 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++;
        }
      }
func_documentation_string: *
  @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'
  });
  
  *