¿Cómo puedo pasar una referencia a una función, con parámetros? [duplicar]

Posible duplicado:
¿Cómo puedo preestablecer argumentos en la llamada a la función de JavaScript? (Aplicación de función parcial)

Necesito poderpasar una referencia a una función con un conjunto dado de parámetros.

Aquí hay un ejemplo de pasar una referenciasin parámetros:

var f = function () {
    //Some logic here...
};

var fr = f; //Here I am passing a reference to function 'f', without parameters
fr(); //the 'f' function is invoked, without parameters

Ahora lo que tengo que hacer es pasar lo mismof función, pero esta vez necesitaría pasar parámetros a la referencia. Ahora, puedo hacerlo con una función anónima e invocar elf función con parámetros dentro de la función recién creada, como tal:

var f = function () {
        //Some logic here...
    };

var fr = function (pars) {
    f(pars);
}; //Here I am creating an anonymous function, and invoking f inside it

fr({p : 'a parameter'}); //Invoking the fr function, that will later invoke the f function with parameters

Pero mi pregunta es:¿Hay alguna manera de pasar una referencia directa a laf función con parámetros parafr, pero sin encerrarlo en una función anónima?

¿Qué necesito asignar afr para hacerlo invocable sin parámetros (fr()), de modo que f (1,2,3) se ejecuta cuandofr se invoca?

[ACTUALIZAR] SeguíJason Buntingla respuesta aaquí acerca deFunción parcial y la función de JavaScript que publica allí es exactamente lo que estaba buscando. Aquí está la solución:

function partial(func /*, 0..n args */) {
  var args = Array.prototype.slice.call(arguments).splice(1);
  return function() {
    var allArguments = args.concat(Array.prototype.slice.call(arguments));
    return func.apply(this, allArguments);
  };
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta