如何从Javascript中的另一个函数调用函数中的子函数?

如何从Javascript中的另一个函数调用函数中的子函数?,javascript,function,Javascript,Function,这里我需要从MyFunction()调用函数HelloAgain()。 你能为这种情况提出任何可能的解决方案吗。你不能。HelloAgainil的范围仅限于Hello功能。 这是在javascript中创建私有作用域的唯一方法。您不能,HelloAgain函数位于闭包中,作用域为该闭包 您可以返回HelloAgain函数,然后从任何可以调用Hello的地方调用它 function Hello() { function HelloAgain(){ } } function MyFunct

这里我需要从MyFunction()调用函数HelloAgain()。
你能为这种情况提出任何可能的解决方案吗。

你不能。
HelloAgain
il的范围仅限于
Hello
功能。
这是在javascript中创建私有作用域的唯一方法。

您不能,HelloAgain函数位于闭包中,作用域为该闭包

您可以返回HelloAgain函数,然后从任何可以调用Hello的地方调用它

function Hello()
{
  function HelloAgain(){
  }
}

function MyFunction(){
...
}
但这有点奇怪

更多信息,您可以使用
this
关键字来处理此问题

function Hello () {
  function HelloAgain () {}
  return HelloAgain;
}

function MyFunction () {
  Hello().HelloAgain();
}

google关闭了吗?如果
HelloAgain
是嵌套的,则表示不应从父函数外部使用它。如果在函数之外需要它,为什么要首先嵌套它呢。我认为这在逻辑上是没有意义的。如果子函数使用来自父函数的数据怎么办?如果从未调用父函数,内部函数将使用哪些数据?这有点不可能。。。。除非你以某种方式把它暴露出来。@VedPrakash你确定那个复制品吗?这两个函数看起来都是顶级的,但在这个问题中有一个嵌套函数。第一个函数的返回对象和内部函数作为方法如何请解释
这个
将是该上下文中的
窗口
(从而使
helloagain
成为全局变量),如下所示“你可以用
这个
来处理这件事”有点模糊。
这个
在下一个
你好
窗口中,不是
真的,对不起,完全错过了
新你好()
部分。
function Hello () {
  this.helloAgain = function helloAgain () {}
}

var hello = new Hello();

function MyFunction () {
  hello.helloAgain();
}