我注意到Node定义了两者 process.argv
和 process.ARGV
(大写)。文档中没有提到后者,到目前为止,我遇到过的是同一个对象。
是 ARGV
只是一个历史性的延续,还是有目的?
我注意到Node定义了两者 process.argv
和 process.ARGV
(大写)。文档中没有提到后者,到目前为止,我遇到过的是同一个对象。
是 ARGV
只是一个历史性的延续,还是有目的?
process.ARGV
已经 完全删除 以来 v0.5.10
。
process.ARGV
已经 完全删除 以来 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上找到他(irc.freenode.net #node.js
)。
仔细查看其他符号,我猜它是为了保持一致而添加的 - argv
和 env
似乎是唯一两个同时具有小写和大写版本的人。然而, ENV
不同 略 从 env
。也许作者认为 argv
和 ARGV
可能会有不同的相同方式 env
和 ENV
?