Разрешение функции JavaScript принимать любое количество аргументов

Я хотел бы, чтобы приведенная ниже функция была более гибкой и принимала множественные обратные вызовы для других функций, если они определены в аргументах.

$(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                         
    };
}

Так что в идеальном мире моя функция выглядела бы так без явного объявления аргументов:

function icisDashBox() { function code here }

Это возможно? Кроме того, если аргументы не определены, как мне справиться с этим?

Например, если для одного вызова функции определено несколько обратных вызовов, а для другого - только один, существует ли способ обработки отсутствия обратных вызовов.

Ура,

:)

Ответы на вопрос(6)

Ваш ответ на вопрос