У меня есть функция JavaScript, которая принимает функцию в качестве параметра, например:Получить имена параметров функции в JavaScript
var myFunction = function(funParameter) {
// funParameter is a function
};
Я могу назвать эту функцию следующим образом:
myFunction(function (aParameter, anotherOne) {
// do stuff
});
Внутри тело myFunction
, как я могу получить параметры, которые должен получать funParameter
? Я хочу знать параметры, объявленные с помощью функции передается myFunction
(в приведенном выше случае, я хочу знать, функцию параметра принимает aParameter
и anotherOne
.
Только как я знаю, делать это путем анализа соответствующего funParameter.toString()
, но Я чувствую, что это своего рода Hacky
это должно быть, как в тестах Мокко:..
it('should test something synchronously', function() {...});
it('should test something asynchronously', function (done) {
// test...
done();
});
вы должны быть в состоянии вести себя по-другому, если функция вы передаете it
принимает параметр done
или нет
Я думаю, что вы застряли с 'toString' ... AFAIK no нет другого пути. – elclanrs
Я заинтригован вопросом (так +1), но я смотрю на него и не могу не думать (по строкам) «доброе горе, что вы делаете, и почему»? –
@DavidThomas :) Это нормально, мне тоже неудобно. Но эй, посмотри на функцию 'it' из теста Mocha: как, черт возьми, они это делают? – whatyouhide