为什么在函数内部使用let来访问变量?

问题描述 投票:0回答:1

在下面的代码片段中,在函数f之后声明了i,所以函数f如何访问i的值?

let f;

if(true){
    f = () => {
        console.log(i)
    }

    let i = 1;
}

f();

javascript
1个回答
0
投票

i]的值> block(使用f的匿名函数)在同一i中声明,因此它是in scope。另外,声明的变量由Javascript引擎hoisted(不是分配给它),这意味着在以前的代码行中访问它们不会引起任何错误。

© www.soinside.com 2019 - 2024. All rights reserved.