0

トピックと同じように:

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

私はこれを試しましたが、成功しませんでした:

function b(){}

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

助けていただければ幸いです;]。

4

3 に答える 3

1

この質問は、宣言の前に現れるコードで関数を呼び出すことができるかどうかに関するものだと言っているので、答えはyesです。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 に答える