Edit in JSFiddle

// 계승함수, 재귀함수로 구현
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