// 계승함수, 재귀함수로 구현 function factorial(num) { if (num <= 1) { return 1; } else { // 재귀할때 factorial1함수를 호출하기 때문에 함수의 이름이 변경되면 안됨 return num * factorial(num - 1); } } // trueFactorial 변수가 factorial 함수를 가리키게 함 var trueFactorial = factorial; // factorial 함수는 0을 반환하는 함수를 가리키게 함 factorial = function() { return 0; } document.write("trueFactorial call :" + trueFactorial(5) + "<br>"); // 0 document.write("factorial call :" + factorial(5) + "<br>"); //0