In this commit有变化,我无法解释理解“这个”关键词
deferred.done.apply(deferred, arguments).fail.apply(deferred, arguments);
成为
deferred.done(arguments).fail(arguments);
AFAIK,当你调用一个函数像obj.func()
一些对象的成员,在函数内部this
绑定到obj
,所以通过只能绑定this
到obj
将没有用处。相反,根据评论,这是必要的,因为前面的一些$.Callbacks.add
实施。
我怀疑是不是jQuery的,但关于JavaScript语言本身:当你调用一个函数像obj.func()
,怎么能是这里面func()
的this
关键字未绑定到obj
?
那个提交改变与你的问题有什么关系? '.apply'用于将'n'个参数传递给另一个函数,而不是其上下文强制能力。 – Esailija
@Esailija,我想你明白了! – Raffaele
@Christoph我认为他明白了。 apply()不用于强制上下文,因为* this *已经*正确放置*(并且这回答了我的问题) – Raffaele