1

我正在阅读javascript网络应用程序,作者正在使用以下代码:

mod.load = function(func){
    $($.proxy(func, this));
};

有人可以帮我理解为什么返回函数在包装器jQuery.proxy内部。jQuery

这是否与以下内容相同:

mod.load = function(func){
    var temp = $.proxy(func, this);
    temp();
};
4

3 回答 3

2

它们不一样,但具有相同的效果。您的第二个示例直接执行返回的函数,而 jQuery(function) 将其绑定到 onload like $(document).ready(). mod.load 可能onload 但是,所以这没有区别。

http://api.jquery.com/jQuery/#jQuery3

于 2012-04-06T09:25:11.307 回答
1

使用函数参数调用$()等效于将$(document).ready()应用于该函数:它在调用之前等待 DOM 准备好。

因此,在您的第二个示例中,可能会在 DOM 准备好之前调用,具体取决于自身运行temp()的时刻。mod.load()

于 2012-04-06T09:26:23.650 回答
0

是一样的,只是简写。

于 2012-04-06T09:23:26.313 回答