0

是否可以根据if语句在 JQuery 或 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

您也可以使用提供的 PHP 示例在 JS 中返回 functionname(),语法完全相同...

于 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 回答