process.argv
-
在JS文件中输入
console.log(process)
即可打印出Node的进程信息。 -
在process信息中有一个argv。官方文档解释如下:
process.argv
属性会返回一个数组,其中包含当 Node.js 进程被启动时传入的命令行参数。 第一个元素是process.execPath。(属性返回启动 Node.js 进程的可执行文件的绝对路径名。)
如果需要访问argv[0]
的原始值,则参见process.argv0
。 第二个元素是正被执行的 JavaScript 文件的路径。 其余的元素是任何额外的命令行参数。
使用process.argv实现简易石头剪刀布
// 获取玩家输入的信息(argv第三个参数)
var playerAction = process.argv[process.argv.length - 1]
// console.log(process.argv)
console.log('你的输出:'+playerAction)
var random = Math.random() * 3
// 电脑操作
if (random < 1) {
// 剪刀
var computerAction = 'rock'
} else if (random > 2) {
// 石头
var computerAction = 'paper'
} else {
// 布
var computerAction = 'scissor'
}
console.log('电脑的输出:'+computerAction)
if (playerAction === computerAction) {
console.log('平局')
} else if (
playerAction === 'rock' && computerAction == 'paper' ||
playerAction === 'paper' && computerAction == 'scissor' ||
playerAction === 'scissor' && computerAction == 'rock'
) {
console.log('你输了')
} else {
console.log('你赢了')
}
// if(playerAction===computerAction){
// console.log('平局')
// }else if(playerAction==='rock'&&computerAction=='paper'){
// console.log('你输了')
// }else if(playerAction==='rock'&&computerAction=='scissor'){
// console.log('你赢了')
// }else if(playerAction==='paper'&&computerAction=='scissor'){
// console.log('你输了')
// }else if(playerAction==='paper'&&computerAction=='rock'){
// console.log('你赢了')
// }else if(playerAction==='scissor'&&computerAction=='rock'){
// console.log('你输了')
// }else if(playerAction==='scissor'&&computerAction=='paper'){
// console.log('你输了')
// }
总结
-
返回进程启动时的命令行参数。 第一个元素是Node.js 进程的可执行文件的绝对路径名。
-
第二个元素是当前执行的 JavaScript 文件的路径。
-
剩余的元素都是额外的命令行参数。
-
通过process.argv可以获取以上三点的信息