2015-12-17 3 views
1

Объяснение:аргументов функции Анонимных и порядка они передаются

Что-то я не был в состоянии получить мою голову вокруг анонимных функций является их аргументами.

Скажем, мы используем jQuery.each();

Я знаю, что если мы называем each() и использовать то, что я бы назвал anonymous callback function
т.е.

$.each('p', function(index, item){ 

Я не могу захватить "индекс и элемент, используя анонимный как видно выше. С помощью этого я мог бы сделать что-то вроде

var array = []; 

$.each('p', function(index, item){ 
    if(index % 3 === 0) array.push(item); 
}); 

Используя анонимную функцию, я схватил индекс текущего элемента был запущен each против, а затем push -ed в массив if я мог бы разделить index на три , или в основном каждые 3 предмета.

Вопрос:

ли все методы бросают различные параметры для нас «улова» с анонимными функциями, или же все они следуют строгой картине (index, element, etc.)

Если все они разные, есть способ узнать, какие данные передаются из метода?

ответ

2

Нет, вы не можете рассчитывать на то, что аргументы всегда одинаковы, поскольку то, что имеет смысл, сильно зависит от контекста.

Существует очень простой способ, чтобы выяснить, какие аргументы будут даны: read the documentation :)

Например, the documentation for .each() читает

.each(function) Возвраты: jQuery
Описание: перебрать объект JQuery , выполняя функцию для каждого согласованного элемента.

function
Тип: Функция (целочисленный индекс, элемент элемент)
Функция для выполнения для каждого элемента.

+0

Каким будет «технический термин» для этих аргументов? Просто я знаю, что искать в документации! –

+0

Они просто аргументы функции, ничем не отличающиеся от аргументов любой другой функции. Однако функция, переданная как это, имеет специальное имя: это * функция обратного вызова *. –

+0

ОН, это говорит в верхней части страницы для метода :) '.each()' is: _Type: Function (Integer index, Элемент элемента) _, спасибо Tomas –