node.js中的path.join方法使用说明
方法说明:
将多个参数组合成一个path(详细请看例子)
语法:
path.join([path1],[path2],[...])
由于该方法属于path模块,使用前需要引入path模块(varpath=require(“path”))
例子:
path.join('/foo','bar','baz/asdf','quux','..')
//returns
'/foo/bar/baz/asdf'
path.join('foo',{},'bar')
//throwsexception
TypeError:Argumentstopath.joinmustbestrings
源码:
//windowsversion
 exports.join=function(){
   functionf(p){
     if(!util.isString(p)){
       thrownewTypeError('Argumentstopath.joinmustbestrings');
     }
     returnp;
   }
 
   varpaths=Array.prototype.filter.call(arguments,f);
   varjoined=paths.join('\\');
 
   //Makesurethatthejoinedpathdoesn'tstartwithtwoslashes,because
   //normalize()willmistakeitforanUNCpaththen.
   //
   //Thisstepisskippedwhenitisveryclearthattheuseractually
   //intendedtopointatanUNCpath.Thisisassumedwhenthefirst
   //non-emptystringargumentsstartswithexactlytwoslashesfollowedby
   //atleastonemorenon-slashcharacter.
   //
   //Notethatfornormalize()totreatapathasanUNCpathitneedsto
   //haveatleast2components,sowedon'tfilterforthathere.
   //ThismeansthattheusercanusejointoconstructUNCpathsfrom
   //aservernameandasharename;forexample:
   //path.join('//server','share')->'\\\\server\\share\')
   if(!/^[\\\/]{2}[^\\\/]/.test(paths[0])){
     joined=joined.replace(/^[\\\/]{2,}/,'\\');
   }
 
   returnexports.normalize(joined);
 };