В этом коммите есть изменение, которое я не могу объяснить
deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
становится
deferred.done( arguments ).fail( arguments );
AFAIK, когда вы вызываете функцию как член некоторого объекта типа obj.func()
, внутри функции this
привязан к obj
, поэтому не нужно использовать функцию через apply()
только для привязки this
к obj
. Вместо этого, согласно комментариям, это было необходимо из-за предшествующей реализации $.Callbacks.add
.
Я сомневаюсь не в jQuery, а в самом языке Javascript: когда вы вызываете функцию типа obj.func()
, как это может быть внутри func()
ключевое слово this
не связано до obj
?