关于NodeJS中类似函数参数arguments的问题

小文件拷贝中:

1
2
3
4
5
6
7
8
9
10
11
var fs = require('fs');

function copy(src,dst){
fs.writeFileSync(dst, fs.readFileSync(src));
}

function main(argv){
copy(argv[0],argv[1]);,
}

main(process.argv.slice(2));

困惑的是:main(argv)怎么就可以传入两个参数,并且调用的时候,可以使用==argv[0],argv[1]==?我们都知道:在js参数个数是可以传任意多个,不管命名的参数有多少个。但是在调用的时候必须使用==arguments[0],arguments[1]…==这种形式来调用参数。这里之所以可以直接使用argv,是因为使用==process.argv==获得命令行参数!