Javascript 命令行参数问题--跳过可选函数参数? 我在学习命令行参数的中间。我要做的是打印出我的脚本,上面写着“Hello,World”,如果您键入 node helloworld (name)

Javascript 命令行参数问题--跳过可选函数参数? 我在学习命令行参数的中间。我要做的是打印出我的脚本,上面写着“Hello,World”,如果您键入 node helloworld (name),javascript,node.js,Javascript,Node.js,它将打印出Hello,(name)。如果没有名字输入,默认情况下会输出Hello,World 我基本上是这样做的,但我想知道,有没有什么方法我可以直接打字 node helloworld (yourname) 而不是经历打字的麻烦 node helloworld name (yourname) 函数getArgument(参数){ var index=process.argv.indexOf(参数); return(index=-1)?null:process.argv[index+1]

它将打印出
Hello,(name)
。如果没有名字输入,默认情况下会输出
Hello,World

我基本上是这样做的,但我想知道,有没有什么方法我可以直接打字

node helloworld (yourname) 
而不是经历打字的麻烦

node helloworld name (yourname)
函数getArgument(参数){
var index=process.argv.indexOf(参数);
return(index=-1)?null:process.argv[index+1];
}
var name=getArgument('name');
var消息=名称?“你好,”+姓名:“你好,世界。”;

log(JSON.stringify(message))当然,只要始终使用第一个参数:

 let name = process.argv[2];
在您的情况下,
argv
如下所示:

 ["node", "helloworld", "(name)"]

因此,您只需访问第三个元素即可获得名称。

它应该是
[2]
,因为前两个元素是
节点
helloworld
非常感谢!这件事使我困惑了大约一个小时