Функции


// Функции в JavaScript - это объекты.
// У них есть конструктор, свойства и методы.

function CallLevel(){
   if (CallLevel.caller == null)
      return("CallLevel was called from the top level.");
   else
      return("CallLevel was called by another function.");
}

// Можно делать рекурсию:

function factorial(aNumber)  {
    aNumber = Math.floor(aNumber);
    if (aNumber < 0)  {
        return -1;
    }
    if (aNumber == 0)  {
        return 1;
    }
    else
        return (aNumber * factorial(aNumber - 1));
}

// Можно передавать переменное число параметров:

function f()  {
    var numargs = arguments.length;
    for (var i = 0; i < numargs; i++) {
        print(arguments[i]);
    }
}

// И экзотика - можно вызывать функцию в момент определения:

(function(n) { alert(n) })(10);