为什么此javascript代码输出1而不是2?

时间:2019-11-19 00:34:07

标签: javascript scope

var x = 1;
function fn() {
 console.log(x);
}
function show(f){
 var x = 2;
 f();
}
show(fn);

fn()函数应该有权访问其外部执行上下文show(),其中x定义为2。

1 个答案:

答案 0 :(得分:0)

不。 <strong style="color: red; opacity: 0.80;">My Bold Text, in red color.</strong> 与上下文绑定,就像定义f时一样,即f时。如果需要x = 1,则需要在x = 2函数内部定义 fn