About Recursive Functions

A recursive function is a type of function that calls itself or that calls another function that calls the first function. Siebel eScript allows recursion. Each call to a function is independent of any other call to this function. If a function calls itself too many times, then the script runs out of memory and aborts.

In the following example, the factor function calls itself so that it can factor a number. Factoring is an appropriate use of recursion because it is a repetitive process where the result of one factor uses the same rules to factor the next result:

function factor(i) //recursive function to print factors of i,
{// and return the number of factors in i
   if ( 2 <= i ) 
{
   for ( var test = 2; test <= i; test++ )
{
      if ( 0 == (i % test) ) 
{
// found a factor, so print this factor then call
// factor() recursively to find the next factor
      return( 1 + factor(i/test) );
}
}
}
// if this point was reached, then factor not found
   return( 0 );
}