我在不同的插件和代码中看到了这个函数,但我不理解它的作用...在jQuery API中也没有提到!
apply
调用一个带有一组参数的函数。它不是jQuery的一部分,而是核心JavaScript的一部分。不过,在jQuery文档中有提到它:
http://docs.jquery.com/Types#Context.2C_Call_and_Apply
语法:
somefunction.apply(thisObj, [argsArray])
以上代码调用函数 somefunction
,在函数作用域内将this
设置为thisObj
,并将argsArray
中的参数作为函数的参数传递。
$.when(object).done(callback);
,但在函数 $.when
中,this
被设置为第一个参数,即 null
。可以说,应该使用 $.when.call(null, object).done(callback);
,因为 .apply
的第二个参数应该是一个数组。 - Luke Madhanga实际上,apply会使用指定的对象作为函数执行时的上下文。这意味着在函数内部,引用this
将指向该对象。
$(this)
来获取相关的jQuery对象并访问jQuery方法。 - R. Schreurs