首页 > 解决方案 > 调用嵌套的 javascript 函数

问题描述

如何调用Hey()另一个函数内部的函数?我尝试做 function.function() 但它似乎不是正确的方法。

<script type="text/javascript">

        function Reply() {
            createScene.Hey(); //not getting called
        }
</script>

<script type="text/javascript">

        var scene = null;

        var createScene = function () {

            function Hey() {
                console.log("OOPS");
            }
  }
</script>

标签: javascript

解决方案


你不能。这是一个本地函数。没有办法访问它。事实上,这是人们用来在 JS 中创建私有方法的(尴尬的)技术之一。

您可以返回本地函数,可以定义它window或将其分配给全局变量等(以将其暴露在外部);然而,最惯用的方法是简单地创建一个类:

class Scene {
  constructor() {
    // create scene here
  }

  hey() {
    console.log('hey')
  }
}

const scene = new Scene()
scene.hey()


推荐阅读