Permitir que la función javascript acepte cualquier número de argumentos

Me gustaría que la siguiente función sea más flexible y acepte múltiples devoluciones de llamada a otras funciones si están definidas en los argumentos.

$(function() {
    function icisDashBox(colorElem, thisWidth, thisHeight, completeCallBack) {
        $(colorElem).colorbox({
        transition: 'none',
        innerWidth: thisWidth,
        innerHeight: thisHeight,
        opacity: '0.5',
        onOpen: function() { 

        },
        onLoad: function() { 

        },
        onComplete:function() { 
            $('#cboxLoadedContent').wrap('<div id="icis_dialog_msg" />'); 

            completeCallBack();

        },
        onCleanup: function() { 

        },      
        onClosed: function() {
            $('#cboxLoadedContent').unwrap(); 
        }
    });
}

icisDashBox('.example9', '500', '500', completeFunction);

function completeFunction() {

    var fooClass = $("#colorbox").addClass("FOO");

    var barClass = $("#colorbox").addClass("BAR");

    var ajaxCnt = $.ajax({
        type: "GET",
        url: "http://www.payso.me.uk",
        dataType: "html",
        success: function(data) {
            $("#colorbox").addClass("AJAX SUCCESS");
        }
    });

    return {
        x : fooClass,
        y : barClass,
        z : ajaxCnt                         
    };
}

Entonces, en un mundo ideal, mi función se vería así sin declarar explícitamente ningún argumento:

function icisDashBox() { function code here }

es posible? Además, si los argumentos no están definidos, ¿cómo manejo eso?

Por ejemplo, si una llamada a la función tiene varias devoluciones de llamada definidas y otra solo tiene una, hay una manera de manejar la falta de presencia de devoluciones de llamada.

Salud,

:)

Respuestas a la pregunta(6)

Su respuesta a la pregunta