function arr2str(arr) {
  var strArr = [],
    i = 0,
    l = arr.length;
  for (; i < l; ++i) {
    switch (typeof arr[i]) {
      case 'object':
        strArr.push(obj2str(arr[i]));
        break;
      case 'function':
        strArr.push('function');
        break;
      default:
      case 'string':
      case 'number':
        strArr.push(arr[i]);
        break;
    }
  }
  return strArr.join('');
}
// stringify and array of data (ex. arguments of functions)
stringify and array of data (ex. arguments of functions)
stringify and array of data ( ex . arguments of functions )
function arr2str(arr) {
  var strArr = [],
    i = 0,
    l = arr.length;
  for (; i < l; ++i) {
    switch (typeof arr[i]) {
      case 'object':
        strArr.push(obj2str(arr[i]));
        break;
      case 'function':
        strArr.push('function');
        break;
      default:
      case 'string':
      case 'number':
        strArr.push(arr[i]);
        break;
    }
  }
  return strArr.join('');
}
function arr2str ( arr ) { var strArr = [ ] , i = 0 , l = arr . length ; for ( ; i < l ; ++ i ) { switch ( typeof arr [ i ] ) { case 'object' : strArr . push ( obj2str ( arr [ i ] ) ) ; break ; case 'function' : strArr . push ( 'function' ) ; break ; default : case 'string' : case 'number' : strArr . push ( arr [ i ] ) ; break ; } } return strArr . join ( '' ) ; }
stringify and array of data (ex.
stringify and array of data ( ex .