path.js
function join() {
    var path = '';
    var args = slice.call(arguments, 0);
    if (arguments.length <= 1) args.unshift(cwd());

    for (var i = 0; i < args.length; i += 1) {
      var segment = args[i];
      if (!isString(segment)) {
        throw new TypeError ('Arguemnts to path.join must be strings');
      }
      if (segment) {
        if (!path) {
          path += segment;
        } else {
          path += '/' + segment;
        }
      }
    }

    return normalize(path);
  }
function join() {
    var path = '';
    var args = slice.call(arguments, 0);
    if (arguments.length <= 1) args.unshift(cwd());

    for (var i = 0; i < args.length; i += 1) {
      var segment = args[i];
      if (!isString(segment)) {
        throw new TypeError ('Arguemnts to path.join must be strings');
      }
      if (segment) {
        if (!path) {
          path += segment;
        } else {
          path += '/' + segment;
        }
      }
    }

    return normalize(path);
  }
function join ( ) { var path = '' ; var args = slice . call ( arguments , 0 ) ; if ( arguments . length <= 1 ) args . unshift ( cwd ( ) ) ; for ( var i = 0 ; i < args . length ; i += 1 ) { var segment = args [ i ] ; if ( ! isString ( segment ) ) { throw new TypeError ( 'Arguemnts to path.join must be strings' ) ; } if ( segment ) { if ( ! path ) { path += segment ; } else { path += '/' + segment ; } } } return normalize ( path ) ; }
join the pathes
@param {String} [path1, path2, path3...]
@return {String} joined path
join the pathes