[javascript] Wie bekomme ich alle Argumente einer Callback-Funktion?



Answers

Könnte es so einfach sein wie

function callback() {
    console.log(arguments);
}

?

Jede Funktion stellt die Argumente bereit, mit denen sie in der automagic arguments Auflistung aufgerufen wurde.

Question

Sehr oft benutze ich eine Callback-Funktion, und ich habe keine Dokumentation zur Hand, und es wäre schön, alle Argumente zu sehen, die an diese Callback-Funktion übergeben werden sollen.

// callback is a function that I don't know the args for...
// and lets say it was defined to be used like: callback(name, number, value)
something.doSomething( callback );

Wie kann ich feststellen, was dafür spricht?

Hinweis: Das Betrachten des Quellcodes kann nicht hilfreich sein, wenn der Code selbst verschleiert und minimiert wird (so viele js-Frameworks sind).




Sie können sogar sagen, welche Funktion args mit [functionName] .arguments erhalten soll:

(function(arg1, arg2, agr3){
    console.log('args are:', arguments);
    return function fn(){
        function m(){
            console.log(
                'fn.arguments:', fn.arguments,
                'm.arguments:', m.arguments,
                'argumentsX:', arguments
            );
        };
        m('mArg1', 'mArg2', 'mArg3', 'mArg4');
    };
})
(1, 2, Math.PI)  // invoke closure
('fnArg1', 'fnArg2', 'fnArg3', 'fnArg4');  // invoke "fn"

Jede Funktion def überschreibt das Argument arguments so, dass es von diesem Bereich btw ist (wie mit dem Protokoll " argumentsX " zu sehen ist).




Links