Javascript 吊装过程中会发生什么?

Javascript 吊装过程中会发生什么?,javascript,hoisting,Javascript,Hoisting,我正在学习javascript的概念 var a = 2; function a(){}; typeof a // "number" var a ; function a(){}; typeof a // "function" 我的问题是,为什么第一个代码有typeof number而不是Function,这可以在代码的第二部分看到?如果你破坏了第一个代码,它看起来是这样的。在js中,函数声明提升函数定义 要显示函数声明和函

我正在学习javascript的概念

    var a = 2;
    function a(){};
    typeof a 
    // "number"

    var a ;
    function a(){};
    typeof a 
    // "function"

我的问题是,为什么第一个代码有typeof number而不是Function,这可以在代码的第二部分看到?

如果你破坏了第一个代码,它看起来是这样的。在js中,函数声明提升函数定义

要显示函数声明和函数定义,可以在声明之前调用函数a

变量a;//a是未定义的 A. 功能a{ console.log'function a'; }; // 功能也被提升 a=2;//为一个对象分配一个值
console.logtypeof a如果您破坏了第一个代码,它看起来是这样的。在js中,函数声明提升函数定义

要显示函数声明和函数定义,可以在声明之前调用函数a

变量a;//a是未定义的 A. 功能a{ console.log'function a'; }; // 功能也被提升 a=2;//为一个对象分配一个值 console.logtypeof a函数声明比正常变量初始化先提升。 用var声明的变量显示提升。a的声明位于作用域的顶部,但在其写入的行上为其指定了值2

函数声明,即函数a{};声明该值,并将该值分配给作用域顶部的函数。所以在第一个例子中发生的是

var a=函数{}; a=2; console.logtypeof a函数声明比正常变量初始化先提升。 用var声明的变量显示提升。a的声明位于作用域的顶部,但在其写入的行上为其指定了值2

函数声明,即函数a{};声明该值,并将该值分配给作用域顶部的函数。所以在第一个例子中发生的是

var a=函数{}; a=2;
console.logtypeof a是否表示先挂起变量,然后挂起函数?是否表示先挂起变量,然后挂起函数?哪个挂起函数的第一个变量?@ShivamMuttoo函数声明总是先挂起。哪个挂起函数的第一个变量?@ShivamMuttoo函数声明总是先挂起先吊起来。