【发布时间】:2021-01-26 22:05:33
【问题描述】:
const a = [1, 2, 3];
const doubled = a.map((num) => {
return num * 2;
});
const x = 2;
x;
doubled;
当我在控制台中运行上述程序时,只有底部的变量被执行。所以在上面的代码中,我只会得到两倍的输出 ([2, 4, 6]) 但不会有任何来自 x 的输出。但是如果我把 x 放在 double 之下,那么输出将是 x (2) 但没有 doubled。
为什么会发生这种情况以及我没有得到的幕后情况?
(当我对它们都进行 console.log 时,行为符合预期并且都被记录了,但我很好奇这种没有 console.log 的奇怪行为)
谢谢!
编辑:您可以通过转到https://repl.it/languages/javascript 并将上面的代码粘贴到那里来重现此内容。
【问题讨论】:
-
我收到
ReferenceError: a is not defined。请问您可以使用堆栈 sn-p 来说明您的意思吗? (见minimal reproducible example) -
@evolutionxbox 他格式错误,
a声明不可见。 -
您是否将整个内容粘贴到控制台中,而不是一次输入一行?执行此操作时,控制台仅显示粘贴的最后一个表达式的值。
-
可能。这使您可以粘贴一大块代码,而不会看到所有中间值。
-
它与 JavaScript 和变量关系不大,只是与控制台交互工作的方式有关。
标签: javascript arrays variables console