0

ifJQueryまたはJavascriptで、ステートメントに基づいて関数を最初からやり直すことはできますか?return functionname();PHPはどうですか?

例えば

function awesomestuff {
   //do stuff;
   //do stuff;
   if(x == 1) { //start function over }
   //do stuff;
   //do stuff;
}

これはステートメントで実現できると思いますif/elseが、関数がかなり大きくなると、かなり乱雑になる可能性があります。

4

6 に答える 6

3

なぜだめですか:

function awesomestuff() {
   //do stuff;
   //do stuff;
   if(x == 1) { awesomestuff(); }
   //do stuff;
   //do stuff;
}
于 2012-10-23T18:59:52.443 に答える
3

条件内で関数を再度呼び出すだけで実行できる再帰を求めていると思いますが、

//Note you were missing ()
function awesomestuff () {
   //do stuff;
   //do stuff;
   if(x == 1) { 
      //start function over 
      awesomestuff ();
   }
   //do stuff;
   //do stuff;
}
于 2012-10-23T19:00:02.873 に答える
3

まったく同じ構文で、JS でも functionname() を返す提供された PHP の例を使用できます...

于 2012-10-23T19:00:29.057 に答える
1

あなたが実際に何をしたいのかに応じて -

function awesomestuff {
    x = 1;
    while (x==1) {
       //do stuff;
       //do stuff;
    }
    //do stuff;
    //do stuff;
}
于 2012-10-23T18:59:45.630 に答える
1

do while ループはどうですか?

function awesomestuff {
   do {
   //do stuff;
   //do stuff;
   while(x == 1);// { //start function over }
   //do stuff;
   //do stuff;
}
于 2012-10-23T19:01:12.137 に答える
0
function awesomestuff () {
   //do stuff;
   //do stuff;
   if(x == 1) { 
       //start function over
       awesomestuff();

       // do not continue this execution
       // remove this if you still want to do the "do stuff" below
       return;
   }
   //do stuff;
   //do stuff;
}
于 2012-10-23T19:00:56.233 に答える