ixth,
 у меня пока что два варианта:
1. Хочется
2. Для оптимизации
Вот примерчик
//не оптимизированный вариант
  function fun(i) {  ...  }
  function fun2(i) {  ...  }
  for (var i = 0; i < мильён; i++) {
    if (условие) {
      fun(i);
    } else {
      fun2(i);
    }
  }
// оптимизорованный
  function fun(i) {  ...  }
  function fun2(i) {  ...  }
  var f;
  if (условие) {
    f = fun;
  } else {
    f = fun2;
  }
  for (var i = 0; i < мильён; i++) {
    f(i);
  }