Node.js:process.argv与process.ARGV
我注意到Node定义了process.argv
和process.ARGV
(大写)。 后者在文档中没有提到,在任何情况下,我都遇到了同样的对象。
ARGV
只是一个历史性的搁置,还是它有一个目的?
自v0.5.10
以来, v0.5.10
已被完全 v0.5.10
。
它们是相同的:
node.cc
// process.argv Local<Array> arguments = Array::New(argc - option_end_index + 1); arguments->Set(Integer::New(0), String::New(argv[0])); for (j = 1, i = option_end_index; i < argc; j++, i++) { Local<String> arg = String::New(argv[i]); arguments->Set(Integer::New(j), arg); } // assign it process->Set(String::NewSymbol("ARGV"), arguments); process->Set(String::NewSymbol("argv"), arguments);
编辑 (基于进一步的问题):
只有一个人可以肯定地告诉你(作者) – 你可能能够在IRC上find他( irc.freenode.net #node.js
)。
通过其他符号来看,我猜测它是为了一致性而添加的 – argv
和env
似乎是唯一的两个同时具有小写和大写的版本。 但是, ENV
与env
略有不同。 也许作者认为argv
和ARGV
可能与env
和ENV
相同?