Я ищу способ объявить функцию без объявления одного или нескольких параметров. Это будет использоваться в тех случаях, когда вы реализуете функцию, в которой вам все равно, каково значение (например) первого аргумента.Это способ оставить аргумент функции uneclared
Например, если эта функция:
function foo(this_arg_is_unused, important_arg) {
doSomethingWith(important_arg);
}
Есть ли какой-нибудь способ, чтобы объявить его больше, как это?
function foo(, important_arg) {
doSomethingWith(important_arg);
}
Я понимаю, что я мог бы легко сделать это:
function foo() {
doSomethingWith(arguments[1]);
}
Однако это начинает становиться менее читабельным и было бы трудно (например) использовать fn.js снискать аргументы.
В настоящее время я думал, возможно, я мог бы просто использовать визуальный мнемоник, чтобы указать аргумент не используются:
function foo(ø, important_arg) {
doSomethingWith(important_arg);
}
Однако это также может иметь проблемы удобочитаемости.
Реальный пример:
Функция обратного вызова используется jQuery's .each() принимает два аргумента, первый либо индекс или свойство имя в массиве/объекте и второе это значение. Для того, чтобы манипулировать некоторые div
элементы, которые вы могли бы сделать что-то вроде этого:
$($('div').each(function(index, value) {
console.log(value); // equivalent to doSomething(this)
}));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Nothing here</div>
Используя функцию стрелки (где, используя аргументы [] не представляется возможным)
$($('div').each((ø, value) => console.log(value)));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Nothing here</div>
Я не думаю, что JavaScript имеет любую языковую поддержку для этого. Соглашение Haskell заключается в использовании имени, которое начинается с подчеркивания (например, '_index'). – melpomene
@joews Разве вы не смотрели пример реального мира? Довольно часто. Большинство людей даже не потрудились дать обратный вызов для аргументов '.each()', поскольку 'this' является удобным, но вы не можете использовать' this' в функции стрелки – Tibrogargan
Я всегда использую '_' для дона ' t советы по уходу. – Redu