javascript - 吊装过程中会发生什么?

标签 javascript hoisting

我正在研究 javascript 的提升概念。

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

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

我的问题是,为什么第一段代码有 typeof number 而不是第二部分代码中可以看到的 funtion?

最佳答案

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

要显示函数声明提升函数定义,您可以在声明之前调用函数 a()

var a; // a is undefined
a();

function a() {
  console.log('function a');
}; // function is also hoisted
a = 2; // a is assigned a value
console.log(typeof a)

关于javascript - 吊装过程中会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55779660/

相关文章:

Javascript 范围/提升或 promise /延迟?

javascript - 在javascript中提升

javascript - 如何抑制测试中的 FuncUnit 单元错误?

javascript - Uncaught TypeError : $(. ..).sidr 不是函数[控制台 Chrome 开发者工具]

javascript - 如何让 child 进入圆形 map

javascript - 令人困惑的 EcmaScript 规范 - 声明绑定(bind)实例化

javascript - Node Js/Javascript 提升,变量保持未定义

匿名函数中的javascript奇怪行为

javascript - webpack 1 : resolve. 别名未将一个 npm 模块别名为另一个 npm 模块

javascript - 将垂直滚动限制为单个 div 而不是整个页面