Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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,我在一个脚本文件A.js中创建了嵌套函数,如下所示: function A(){ function B(){} } 如果我想调用另一个脚本文件C.js中的函数B(),我应该怎么做?您必须返回嵌套函数: function A(){ return function B(){} } 然后在C.js中 var funB = A(); funB(); 或 您想要做的似乎是使用a()中的变量创建一个B的函数。如果调用A()后返回B,则可以访问此闭包B。然后,在C.js中,您可以通过调用A并

我在一个脚本文件A.js中创建了嵌套函数,如下所示:

function A(){
   function B(){}
}

如果我想调用另一个脚本文件C.js中的函数B(),我应该怎么做?

您必须返回嵌套函数:

function A(){
   return function B(){}
}
然后在C.js中

var funB = A();
funB();


您想要做的似乎是使用
a()
中的变量创建一个
B
的函数。如果调用
A()
后返回
B
,则可以访问此闭包
B
。然后,在
C.js
中,您可以通过调用
A
并使用返回值来访问
B

A.js

function A([parameters]) {
    [variables]
    function B() { [function body] }
    //Return B from A:
    return B;
}
//Get B:
var bFunction = A([parameters]):
//Call bFunction:
bFunction();
C.js

function A([parameters]) {
    [variables]
    function B() { [function body] }
    //Return B from A:
    return B;
}
//Get B:
var bFunction = A([parameters]):
//Call bFunction:
bFunction();

必须从父函数
A()
返回嵌套函数
B()

你的代码

function A(){
   function B(){}
}
使用return语句更新了代码

function A(){
    return function B(){ //return added

 }     
 }
您可以通过向函数调用添加额外的
()
括号来访问子函数,如下面的示例所示

A()();

嵌套函数有什么原因吗?在函数A中还有其他的东西吗,或者仅仅是函数B?你会怎么做取决于很多其他的东西。没有一个正确的答案。你不能,你不能访问另一个函数的作用域,除非你公开它。这就像一个函数闭包。您需要以某种方式从
A()
返回
B
。接下来是更长的答案!这可能会有帮助:谢谢你,正是我需要的~