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