如何在javascript中调用另一个函数中的函数
我在一个脚本文件A.js中创建了嵌套函数,如下所示:如何在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并
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
。接下来是更长的答案!这可能会有帮助:谢谢你,正是我需要的~