【发布时间】:2016-03-13 11:01:33
【问题描述】:
如何在另一个函数内部声明一个函数,然后在该函数外部执行?
例子:
function createFunction(){
function myFunction(){console.log('Hello World!');};
};
createFunction();
myFunction();
这将返回一个错误,指出 myFunction 未定义。
我该如何完成这项工作?
【问题讨论】:
-
你必须执行
createFunction,但它也被闭包隐藏了。你希望完成什么。 -
首先调用父函数,这样子函数将创建然后调用子函数,但不是这样,而是使用“this”。
-
你在函数中声明的所有东西都保留在函数中(就像拉斯维加斯)并且在函数之外是未知的(闭包/范围)。你为什么要这样做?
-
你可以从外部返回内部函数。这样,外部函数的调用会产生内部函数,您可以依次调用它。但是我怀疑你真的需要那个内部函数定义。
标签: javascript