Как цепочечные функции становятся выполняемыми в JQuery?

Когда функция объединяется в цепочку в JQuery, каков порядок операций?

Пример 1

$(selector).fun1(val,{fun2(){ }}

Пример 2

$(selecter).fun1().fun2().fun3() 
6
задан George Stocker 5 February 2010 в 12:56
поделиться

3 ответа

  1. Использует функцию обратного вызова. Вы передаете fun2 в качестве аргумента функции fun1, затем fun1 вызывает fun2, когда она завершается.
  2. Это действительно умная функция jQuery, большинство методов jQuery возвращают исходный объект, для которого был вызван метод, поэтому вы можете вызвать другой метод для этого возвращенного объекта. Последовательность такая же, как и последовательность, в которой она записана.
0
ответ дан 8 December 2019 в 17:21
поделиться

Слева направо. fun3 () запускается для результата (= возвращаемое значение) fun2 () , fun2 () для результата fun1 () .

Такой вид цепочки может быть выполнен в JQuery, потому что каждая объединяемая в цепочку функция возвращает объект / элемент, для которого она была вызвана.

Итак, $ (selector) .fun1 () возвращает элемент $ (selector) после выполнения. fun2 () вызывается из этого возвращенного элемента и так далее.

8
ответ дан 8 December 2019 в 17:21
поделиться

В этом примере:

$(selector).fun1(val,{fun2(){ }}

Второй параметр для функции один - это функция обратного вызова . Это означает, что fun1 выполняет ЗАТЕМ fun2 выполняет.

В этом примере:

$(selecter).fun1().fun2().fun3()

Все функции запускаются как можно быстрее, если у них есть длительность, например, анимация. В противном случае они выполняются в порядке fun1 , fun2 , fun3 .

Таким образом, с анимацией fun1 , fun2 и fun3 будут 3 одновременными перекрывающимися анимациями, но с другими синхронными операциями они просто выполняются по порядку.

6
ответ дан 8 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: