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中创建私有范围的唯一方法。