我有一个复杂的代码。这是它的sample.i无法改变结构。如何在e()
中致电f()
?
a=function b()
{
var c,d;
c=function()
{
function e()
{
...
}
...
}
d=function()
{
function f()
{
//i need e() here
}
....
}
}
答案 0 :(得分:2)
您不能因为这些是不同范围内的本地函数而无法相互访问。如果您需要从e()
的范围内拨打f()
,则e()
不应在c()
的范围内定义,而应在b()
内,在f()
范围内可见的地方。
答案 1 :(得分:1)
你做不到。这就是确定范围的重点。
但是,您可以通过在函数e
之外声明变量c
来使变量a = function b() {
var c, d, e;
c = function () {
e = function () {
...
};
...
};
d = function () {
function f() {
e();
}
...
};
};
可用。
{{1}}