x在fn函数之后声明但返回其值。 为什么fn没有返回undefined?
function doWork(){
let fn = function(){ return x; }
let x = 2;
return fn();
}
console.log(doWork()); // 2
答案 0 :(得分:1)
在doWork()
函数内部,首先设置一个函数并将其指定给fn
- 此函数尚未 。然后,您将x
定义为2
。 此定义后,您可以通过调用fn()
来调用return fn()
。
由于JavaScript从上到下工作,因此在您引用x
时定义fn()
,因此fn()
能够正确return x
。
这可以在以下内容中看到:
function doWork() {
let fn = function() {
return x;
}
let x = 2;
return fn();
}
console.log(doWork()); // 2