条件内部定义的变量在外部不可用

Variable defined inside conditional not available outside

我知道这是超级基本的,但我不明白为什么它不起作用。我期待在最后 console.log 中看到元素 .basic_form。相反,我得到以下信息:

if ( typeof basic_form === 'undefined' || basic_form === nulll ){
        console.log( 'not defined yet' );
        let basic_form = document.querySelector( '.basic_form' );
        console.log( basic_form) ;
    }
    console.log( basic_form );

Output:
1> not defined yet
2> the element .basic_form
3> Uncaught ReferenceError: basic_form is not defined (???)

任何见解将不胜感激!

在块内声明的变量在外部不可访问。您可以在 Variable scope and closure.

上找到更多信息

basic_form 它是在 if 语句内部定义的,您需要在外部定义它。 我觉得应该是这样的。

let basic_form = document.querySelector( '.basic_form' );

if ( typeof basic_form === 'undefined' || basic_form === nulll ){
        console.log( 'not defined yet' );
        console.log( basic_form) ;
    }
console.log( basic_form );