花括号中的函数声明,这种行为让我感到困惑

时间:2021-02-14 16:13:22

标签: javascript function scope curly-braces

示例 1:

{
    say = 111
    function say() {
        console.log('222')
    }
    say = 333;
    console.log(say) //333
}
// say();
console.log(say) //111

但是如果我删除'say = 111',然后从花括号中取出,say变成一个函数而不是一个数字:

{
    // say = 111
    function say() {
        console.log('222')
    }
    say = 333;
    console.log(say) //333
}
say();//222
console.log(say) //[Function: say]

我不明白。为什么?

0 个答案:

没有答案
相关问题