我目前正在学习node.js,我只是很好奇这是什么意思,我正在学习,你能告诉我为什么这段代码会做它的作用:
var result = 0;
for (var i = 2; i < process.argv.length; i++){
result += Number(process.argv[i]);
}
console.log(result);
Run Code Online (Sandbox Code Playgroud)
我知道它会添加你添加到命令行的数字,但为什么"i"以2开头?我理解for循环,所以你不必详细了解它.
非常感谢你提前.
sle*_*ica 56
你可以解决这个问题console.log(process.argv).
它从2开始,因为它process.argv包含整个命令行调用:
process.argv = ['node', 'yourscript.js', ...]
Run Code Online (Sandbox Code Playgroud)
元素0和1不是你所说的"论据",但它们在那里.
Ray*_*oal 26
它从2开始,因为代码将运行
node myprogram.js firstarg secondarg
Run Code Online (Sandbox Code Playgroud)
所以
process.argv[0] == "node"
process.argv[1] == "myprogram.js"
process.argv[2] == "firstarg"
Run Code Online (Sandbox Code Playgroud)
例如:
$ /usr/local/bin/node ./sum-process-argv.js 1 2 3
6
Run Code Online (Sandbox Code Playgroud)
包含命令行参数的数组.第一个元素是'node',第二个元素是JavaScript文件的名称.下一个元素将是任何其他命令行参数.
在上面的例子中,这些值是:
process.argv[0] == '/usr/local/bin/node'
process.argv[1] == '/Users/maerics/src/js/sum-process-argv.js'
process.argv[2] == '1'
process.argv[3] == '2'
process.argv[4] == '3'
Run Code Online (Sandbox Code Playgroud)
另请参见JavaScript 的Number(...)函数/构造函数.
| 归档时间: |
|
| 查看次数: |
54836 次 |
| 最近记录: |