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


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

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

你不能,HelloAgain 函数位于闭包中,并且作用域为该闭包。

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

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

但这有点奇怪。

此外,您可以使用this关键字来处理此事。

function Hello () {
this.helloAgain = function helloAgain () {}
}
var hello = new Hello();
function MyFunction () {
hello.helloAgain();
}

你不能。HelloAgain的范围仅限于Hello函数。 这是在javascript中创建私有范围的唯一方法。

最新更新