我正在读取 jQuery 中的延迟对象。谁能告诉我以下两种调用方式有什么区别?
$.when.apply(null, a method).done(function(){success callback})
$.when.(a method).done(function(){success callback})
那么什么样的情况适合采用上述第一种方式呢?
提前致谢。
$.when.apply(null, a method)
只有当a method实际上是一个数组或者一个方法call返回一个数组。然后它就像一个$.when(elements, of, the, array)
. See MDN https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply的详细说明apply
method.
$.when.(a method)
完全没有意义,但我猜你的意思是$.when(a method)
。在这种情况下a method应该又是一个方法call返回延迟对象或指向延迟对象的变量。
语法为$.when()
is $.when(one, or, more, deferreds) http://api.jquery.com/jQuery.when/- 所以如果你想传递数组中的多个延迟,你需要.apply()
因为您不想将方法调用构建为字符串并使用eval
(这确实是evil在这种情况下)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)