Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用嵌套javascript函数_Javascript - Fatal编程技术网

调用嵌套javascript函数

调用嵌套javascript函数,javascript,Javascript,如何调用另一个函数中的函数Hey()? 我试过做function.function(),但似乎不是正确的方法 <script type="text/javascript"> function Reply() { createScene.Hey(); //not getting called } </script> <script type="text/javascript&qu

如何调用另一个函数中的函数
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>

函数Reply(){
createScene.Hey();//没有被调用
}
var-scene=null;
var createScene=函数(){
函数Hey(){
console.log(“OOPS”);
}
}

你不能。这是一个局部函数。无法访问它。事实上,这是人们用来在JS中创建私有方法的(笨拙)技术之一

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

课堂场景{
构造函数(){
//在这里创建场景
}
嘿(){
console.log('hey')
}
}
const scene=新场景()

scene.hey()
如果您想调用
createScene.hey()
,那么您有几个选项,但没有一个看起来像您的选项

单向:将场景创建为对象:

var createScene = {
   Hey: function() {
   }
};
如果您希望它是一个函数,并且它附加了另一个函数,我想这是可能的,但不是通过嵌套。您可以这样做:

var createScene = function () {};
createScene.Hey = function() {};

你不能。它是该函数的局部函数,但它不是嵌套函数吗?JS无法从其父函数调用子函数?它不是“子函数”,而是本地函数。您可能应该阅读对象和类。您可以从CreateSecene返回Hey并使用它或将其保存以供使用。