如何理解JavaScript中函数的输出

剧院数据分析员

我在互联网上浏览时遇到了这个JavaScript函数

   function foo(){
        function bar() {
            return 3;
        }
        return bar();
        function bar() {
            return 8;
        }
    }
    console.log(foo());
    =>8

真令人困惑,为什么该函数在被调用时返回8。我以为这段代码会耗尽函数的内容,停在return bar();并返回3。我在这里缺少什么?

特拉维斯J

这是可变吊装的结果。function定义先于其他。真的看起来像这样

function foo(){
    var bar;
    bar = function() {
        return 3;
    }
    bar = function() {
        return 8;
    }
    return bar();
}

“因为在执行任何代码之前都要先处理变量声明(和一般的声明),所以在代码中的任何地方声明变量都等同于在顶部声明它。” var MDN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

理解 JavaScript 中的 .reduce() 函数

来自分类Dev

如何理解函数中的指针

来自分类Dev

如何从javascript中的箭头和咖喱函数获取输出

来自分类Dev

如何理解python中的字节输出?

来自分类Dev

如何理解函数的函数参数中的星号(*)?

来自分类Dev

理解Javascript中的双返回函数

来自分类Dev

理解 Javascript 函数中属性的执行

来自分类Dev

如何理解Python中all()函数的模数?

来自分类Dev

如何在Haskell中理解函数“(。)(。)”

来自分类Dev

如何理解c ++函数中的返回引用?

来自分类Dev

如何理解Apache Flink中的setParallelism函数

来自分类Dev

理解张量流函数输出

来自分类Dev

如何理解modinfo的输出?

来自分类Dev

如何理解“ echo $-”的输出?

来自分类Dev

如何理解路线的输出

来自分类Dev

在javascript函数中记录输出或分配的变量

来自分类Dev

如何使用构造函数Javascript在嵌套数组中输出键值对中的键

来自分类Dev

如何将javascript函数中的变量输出到html中的文本

来自分类Dev

如何在scikit-learn中理解DecisionTreeClassifier的输出?

来自分类Dev

如何理解bash脚本中“ ssh -O check”的输出?

来自分类Dev

如何抑制Bash中的函数输出?

来自分类Dev

如何在python中抑制函数输出

来自分类Dev

如何从函数的输出中创建打印值?

来自分类Dev

如何在JavaScript中理解蹦床?

来自分类Dev

难以理解Javascript高阶函数中的基本概念

来自分类Dev

理解中的最大函数

来自分类Dev

无法理解递归函数的输出。

来自分类Dev

无法理解递归函数的输出。

来自分类Dev

无法理解函数输出 (C)