繁体   English   中英

functionName(function(){…})在JavaScript中做什么?

[英]What does functionName(function() {…}) do in JavaScript?

以下代码段中的addHorizonLoadEvent(function() {...})是什么意思?

addHorizonLoadEvent(function() {
    show_hide_datepickers();
});

addHorizonLoadEvent是一个高阶函数 -这意味着它不希望将非函数值(例如数字或字符串)作为参数,而是另一个函数 因此,第一个参数是一个新函数,该函数将在某个时候由原始函数调用(通常在结尾时作为callback )。

function() {...}是一个匿名函数 -一种表达函数而不绑定到名称的方法。

实际上,您提供了一个函数作为addHorizo​​nLoadEvent的参数。

您可以这样做:

var fooBar = function() {
   //alert("Alert2");
   show_hide_datepickers();
});

addHorizonLoadEvent(fooBar);

而且您给addHorizo​​nLoadEvent提供的函数参数将仅使用一次,无需为其命名,因此它是一个匿名函数 ,直接在()中声明。

此模式称为匿名函数。

function_name(function() { 
    // Code
});

和写作一样

function my_function() {
    // Code
}
function_name(my_function);

意味着my_function作为参数传递给函数function_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM