我很困惑为什么即使遇到错误后仍会打印一、二和三。
这是代码:
setTimeout(() => {
console.log("one");
}, 1000);
setTimeout(() => {
console.log("two");
}, 2000);
setTimeout(() => {
console.log("three");
}, 3000);
console.log(neha);
我期望只是一个错误,而不打印设置超时值,根据我的知识,js 引擎首先运行 console.log,然后在特定时间范围后设置超时。如果我错了,请纠正我,我也是 Stackoverflow 的新手。这是我的第一个问题。
setTimeout
将新的消息插入到事件循环的队列中。每条消息都会被处理,如果发生错误,该具体消息的执行就会停止,但队列中的消息的执行(处理)会继续。
如果这是您的整个代码,那么 neha 不是变量。 如果你想在控制台中打印 neha 试试这个。
console.log('neha');
这里 neha 是一个字符串。你现在不应该得到错误。
或者,如果 neha 是一个具有字符串等类型的变量,那么首先声明它。然后console.log它。
let neha='some string or object';
console.log(neha);