Подтвердить что ты не робот

Может ли кто-нибудь объяснить, что означает "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, поэтому вам не нужно подробно останавливаться на этом.

Большое вам спасибо заранее.

4b9b3361

Ответ 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 и т.д.