我尝试使用 JavaScript 中的回调执行 settimeout() 函数。每次我使用它时都会显示一个匿名随机数(仅在控制台中)。我想知道那是什么。
setTimeout(function() {
console.log("one");
setTimeout(function() {
console.log("two");
setTimeout(function() {
console.log("three");
}, 1000);
}, 1000);
}, 1000);
执行上述代码会在控制台中给出一个数字:
最佳答案
控制台将显示上面计算的最终表达式(同步)的结果。因为 setTimeout
返回一个与超时的唯一 ID 相对应的数字,所以您看到的数字就是最外层 setTimeout
的 ID。
(此 ID 很有用,因为它意味着您可以将其传递给 clearTimeout
或 clearInterval
来清除现有的超时或间隔。)
您将看到此代码的相同类型的输出,其中 ID 显式分配给变量,然后在最后一行再次计算:
outerTimeoutId = setTimeout(function() {
console.log("one");
setTimeout(function() {
console.log("two");
setTimeout(function() {
console.log("three");
}, 1000);
}, 1000);
}, 1000);
outerTimeoutId; // <-- results in some number being displayed in the console
关于javascript - 控制台执行settimeout函数时显示的匿名号码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56696462/