Без использования каких-либо действий, которые будут устаревать в ближайшее время, можно ли получить аргументы из функции, которая сама была передана как функция? .Аргументы функции, переданные как параметр
function lowerOrder(x) {
console.log('lower order: ');
console.log(arguments);
}
function higherOrder(fx) {
console.log('higher order: ');
console.log(arguments);
};
higherOrder(lowerOrder); //in Chrome I can expand these results and see an arguments object (which is null)
против
function lowerOrder(x) {
console.log('lower order: ');
console.log(arguments);
}
function higherOrder(fx) {
console.log('higher order: ');
console.log(arguments);
};
higherOrder(lowerOrder(4)); //higher order function is undefined
//lower order correctly prints 4
Если функция как lowerOrder (4) передается higherOrder, можно получить как имя функции, которая была передана и его аргументы из higherOrder?
Нет, это невозможно. Для чего вы хотите использовать это? – Bergi
В вашем втором примере 'lowerOrder' не передается' upperOrder'. Он вызывается и передается его возвращаемое значение. 'higherOrder' не знает, откуда взялось значение (как оно было вычислено). Вы можете найти это со статическим анализом кода, но не во время выполнения. –
@ Bergi Я просто хотел узнать, возможно ли это. Я потратил около 20 минут, пытаясь найти способ и потерпел неудачу. – wootscootinboogie