我正在阅读javascript
网络应用程序,作者正在使用以下代码:
mod.load = function(func){
$($.proxy(func, this));
};
有人可以帮我理解为什么返回函数在包装器jQuery.proxy
内部。jQuery
这是否与以下内容相同:
mod.load = function(func){
var temp = $.proxy(func, this);
temp();
};
我正在阅读javascript
网络应用程序,作者正在使用以下代码:
mod.load = function(func){
$($.proxy(func, this));
};
有人可以帮我理解为什么返回函数在包装器jQuery.proxy
内部。jQuery
这是否与以下内容相同:
mod.load = function(func){
var temp = $.proxy(func, this);
temp();
};
它们不一样,但具有相同的效果。您的第二个示例直接执行返回的函数,而 jQuery(function) 将其绑定到 onload like $(document).ready()
. mod.load 可能是onload 但是,所以这没有区别。
使用函数参数调用$()等效于将$(document).ready()应用于该函数:它在调用之前等待 DOM 准备好。
因此,在您的第二个示例中,可能会在 DOM 准备好之前调用,具体取决于自身运行temp()
的时刻。mod.load()
是一样的,只是简写。