##要求
编写一个简单的程序,使其能接收一个或者多个命令行参数,并且在终端(标准输出 stdout)中打印出这些参数的总和。
提示
可以通过 process 这个全局对象来获取命令行中的参数。process 对象 拥有一个名为 argv 的属性,该属性是一个数组,数组中包含了整条命令的所有部分。首先,请先编写一个包含如下带简易代码的程序来熟悉一下:
console.log(process.argv)
通过执行命令 node program.js 并在后面多加几个参数,来运行我们的程序,比如:
$ node program.js 1 2 3
这样,就会得到这样一个数组:
[ 'node', '/path/to/your/program.js', '1', '2', '3' ]
需要考虑的问题是,如何去循环遍历这些代表数字的参数,从而得到他们的总和。process.argv数组的第一个元素永远都会是node,并且第二个参数总是指向程序的路径,所以,应该从第三个元素(index 是 2)开始,依次累加,直到数组末尾。
需要注意的是,所有 process.argv 中的数组的元素都是字符串类型的,因此,需要将它们强制转换成数字。可以通过加上 + 前缀,或者将其传给 Number() 来解决。例如: +process.argv[2] 或者 Number(process.argv[2])。
##代码
var result = 0
for (var i = 2; i < process.argv.length; i++)
result += Number(process.argv[i])
console.log(result)
一部由众多技术专家推荐, 帮你成为具有全面能力和全局视野工程师的进阶利器—— 《了不起的JavaScript工程师》出版了! 点击下方链接即刻踏上进阶之路!
- 淘宝:https://detail.tmall.com/item.htm?id=600756390664
- 京东:https://item.jd.com/12562349.html?dist=jd
- 当当:http://product.dangdang.com/27922044.html