我正在学习javascript& Node.js的出于某种原因,这个IF
声明无法正常工作,因为我预期......
我无法弄清楚如何解决这个问题......
我的代码:
process.stdin.setEncoding('utf8'); //Set UTF charcode
process.stdin.on('readable', () => { //Event fires when there's input
var readConsole = process.stdin.read(); //Receive the input from console
if(readConsole != null) {
readConsole.trim().replace(/\r?\n|\r/g, " "); //Trim input and remove line breaks
process.stdout.write('Input: ' + readConsole); //Output the input
if(readConsole == "quit") {
process.exit();
}
}
});
但出于某种原因,每当我输入"退出"在控制台中,它没有响应。
以下是问题的图片:
答案 0 :(得分:4)
trim()
和replace()
都返回一个新字符串,但您没有将该值分配给任何变量。您可能想要删除多余的字符,而不是用空格替换它们(感谢@fvgs)。尝试:
readConsole = readConsole.trim().replace(/\r?\n|\r/g, "");