【发布时间】:2021-04-24 18:13:23
【问题描述】:
这是我正在编译的代码。
var a = 10;
var c = 5;
b(40);
function b(x) {
a(20);
a=40;
c=50;
function a() { console.log(x);}
}
console.log(a);
console.log(c);
你能告诉我输出并解释一下吗?
【问题讨论】:
-
这听起来像是一项任务,不应该直接在 SO 上询问 afaik。如果你详细说明一下,说明你做了哪些部分,没有得到,也许会添加一个更具体的问题,我相信人们会更愿意提供帮助:)
-
@Luca_Scorpion 也许他想问为什么是 40 10 50 而不是 40 40 50?
-
@bestPlayer_xu 也许吧?但这正是我的观点,这个问题太模糊了,无法给出一个好的答案。
-
@Luca_Scorpion 是的。整个代码没有意义(对我来说)
-
@bestPlayer_xu 是的,这就是我要问的。上面的代码给出输出:40 10 50。当我更改函数“a”的名称时,它给出输出:40 40 50
标签: javascript node.js closures hoisting shadowing