Может ли кто-нибудь объяснить, что означает "process.argv" в node.js, пожалуйста?
В настоящее время я изучаю node.js, и мне было просто интересно, что это значит, я учусь и не могли бы вы рассказать мне, почему этот код делает то, что он делает:
var result = 0;
for (var i = 2; i < process.argv.length; i++){
result += Number(process.argv[i]);
}
console.log(result);
Я знаю, что он добавляет числа, которые вы добавляете в командную строку, но почему "i" начинается с 2? Я понимаю цикл for, поэтому вам не нужно подробно останавливаться на этом.
Большое вам спасибо заранее.
Ответы
Ответ 1
Вы можете просто решить это с помощью console.log(process.argv)
.
Он начинается с 2, потому что process.argv
содержит весь вызов командной строки:
process.argv = ['node', 'yourscript.js', ...]
Элементы 0
и 1
- это не то, что вы бы назвали "аргументами", но они есть.
Ответ 2
Он начинается с 2, потому что код будет запущен с
node myprogram.js firstarg secondarg
Итак,
process.argv[0] == "node"
process.argv[1] == "myprogram.js"
process.argv[2] == "firstarg"
Онлайн-документы
Ответ 3
Ваша программа печатает сумму числовых значений "аргументов командной строки", предоставленных node script.
Например:
$ /usr/local/bin/node ./sum-process-argv.js 1 2 3
6
Из Node.js документация API для process.argv
:
Массив, содержащий аргументы командной строки. Первый элемент будет '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'
См. также Number(...)
function/contructor для JavaScript.
Ответ 4
Когда вы выполните его, как:
node code.js <argument> <argument>....
Он учитывает все вызовы командной строки. Для массива process.argv[]
будет ["node","code.js","<argument>",...]
Из-за этого ваши аргументы, которые в массиве начинаются с индекса 2
Ответ 5
process.agrv [i] - в основном проходит через аргументы командной строки, переданные в терминале во время выполнения файла.
например. Если вы запустите файл как
$ node prog.js 1 2 3, затем process.argv [0] = 1 и т.д.