Как анонимная функция знает, какие параметры передаются? Например,Как анонимные функции работают в jQuery/Javascript?
Случай 1:
$("li").each(function(index) {
console.log(index + ": " + $(this).text());
});
Случай 2:
$("li").each(function(e) {
e.preventDefault();
});
Случай 3:
$("li").each(function(index, element) {
console.log(index + ": " + element + $(this).text());
});
В каждом из этих случаев, как это анонимная функция знает, что e
, index
, element
есть?
Потому что '.each' передает эти значения функции. Также обратите внимание, что ваш второй пример не работает, потому что '.each' не передает объект события для обратного вызова. И вы можете назвать параметры, как хотите. –
Во всех ваших случаях первый элемент всегда будет одним и тем же. index = e. В javascript вам не нужно указывать количество параметров, отправляемых функции. Вам просто нужно, чтобы функция адаптировалась к такому числу параметров, и каждый новый параметр будет некоторым уточненным. Затем '.each' передает значения, указанные вами для анонимной функции. – Codel