以下代码段中addHorizonLoadEvent(function() {...})
的含义是什么?
addHorizonLoadEvent(function() {
show_hide_datepickers();
});
答案 0 :(得分:5)
addHorizonLoadEvent
是高阶函数 - 这意味着它不会期望非函数值(如数字或字符串),因为它&#39 ; s参数,但另一个函数。所以第一个参数是一个新函数,它将在某个时刻被原始函数调用(通常最后作为回调)。
function() {...}
是一个匿名函数 - 一种表达函数的方法,不用绑定它就是名字。
答案 1 :(得分:1)
实际上,您将函数作为addHorizonLoadEvent的参数。
你可以这样做:
var fooBar = function() {
//alert("Alert2");
show_hide_datepickers();
});
addHorizonLoadEvent(fooBar);
你给addHorizonLoadEvent的函数参数只会使用一次,不需要给它起一个名字,所以它是一个匿名函数,直接在()中声明。
答案 2 :(得分:1)
此模式是一种称为匿名函数。
function_name(function() {
// Code
});
与写作相同
function my_function() {
// Code
}
function_name(my_function);
意味着my_function
作为参数传递给函数function_name
。