JScript ユーザーズ ガイド、再帰法

まんま

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

WScript.Echo("factorial(-10): " + factorial(-10));
WScript.Echo("factorial(1): " + factorial(1));
WScript.Echo("factorial(2): " + factorial(2));
WScript.Echo("factorial(3): " + factorial(3));

「else return (aNumber * factorial(anumber - 1));」の「anumber」は「aNumber」の間違い