0

就像在主题中一样:

function a()
{
     b();
}
function b()
{
     a();
}

我试过这个但没有成功:

function b(){}

function a()
{
     b();
}
function b()
{
     a();
}

任何帮助表示赞赏;]。

4

3 回答 3

1

既然您说这个问题是关于您是否能够在其声明之前出现的代码中调用函数:答案是肯定的。在 JavaScript 中,变量和函数声明总是被提升到其封闭范围的顶部。在函数的情况下,声明和定义都被提升了,所以:

console.log(a); // undefined
console.log(b); // ReferenceError - there is no var b
console.log(f()); // 20;
var a = 10;
console.log(a); // 10
function f() { return 20; }
于 2013-01-12T17:50:47.440 回答
0

这是一个无限的递归循环。坏的:

function a()
{
     b();
}
function b()
{
     a();
};

a();

那里。玩得开心崩溃浏览器。

于 2013-01-12T17:22:04.430 回答
0

简化对于调试来说很好,但让我们让它变得有用和安全(基于 Sam3k 的响应):

function a(i) { 
  if (i < 10)
  {
     console.log('Running "a" iteration['+i+']');
     b(i);
  }
}

function b(i)
{    
     i++;
     console.log('Running "b" iteration['+i+']');
     a(i);
};

a(1);
于 2013-01-12T17:37:23.147 回答