Im a rails/php开发和当前正在学习nodejs,我只是有点困惑,他们不会提供语法错误或警告,只要你输错东西。当缺少括号时,NodeJS不会给出错误通知
例如:
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
var ar = [];
var nm = '';
rl.question("What is your name? ", function(name){
nm = name;
rl.setPrompt(`words? `);
rl.prompt();
rl.on('line', function(str){
ar.push(str.trim());
if(str.toLowerCase().trim() == 'exit'){
rl.close(); // <--- I forgot to add '()' on this line but the program still runs, no warnings at all.
}else{
rl.setPrompt(`add more ('exit' to leave)`);
rl.prompt();
}
});
});
// Because I forgot '()' this event did not execute '
rl.on('close', function(){
console.log(name " " + ar);
process.exit();
});
在其他语言中,它通常表示该线路上的错误,但在那里的NodeJS是没有和我花了5分钟,找出原因关闭事件不执行。
我不熟悉这种语言,有人可以解释为什么吗?
'在其他语言中,它通常会在该行上表示错误,这取决于您正在使用的编辑器......如果使用记事本,则不会:)在Node的情况下, VS代码与JSHint安装_will_运行一些检查你的代码 –
即时通讯使用原子..它不说什么.. – XDProgrammer
因为原子是一个文本编辑器。看看https://atom.io/packages/atom-jshint –