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