如果将匿名函数定义为functions参数,什么时候执行?

时间:2018-08-04 18:43:27

标签: javascript

//The anonymous function is not being executed there in the parameter. 
//The item is a callback function
$("#btn_1").click(function() {
  alert("Btn 1 Clicked");
});

如果未在主函数的参数中执行匿名函数,那么如何在主函数的主体内部执行匿名函数?

类似的东西:

function myFunction(function(){ /*code inside anon function */ }){ /*Code insider main function */} 

/*Calling the main function */
myFunction();

什么时候执行匿名函数?

1 个答案:

答案 0 :(得分:0)

从您的编辑看来,您好像混合了函数声明和函数回调。

如果一个函数将另一个函数用作参数,它将类似于:

// myFunction accepts a function as a parameter
function myFunction(fn){
  //call the passed in function
  fn() // fn is the function you passed in
}

// Calling the main function and pass in function
myFunction(function(){ 
  console.log("hello")
  }
);

所以在您的原始示例中:

$("#btn_1").click(function() {
  alert("Btn 1 Clicked");
});

click()定义为接受您传入的函数。它类似于上面的myFunction,只是浏览器在调用传入的函数之前等待获得点击。

因此,请回答您的原始问题:

  

那么您如何在main函数体内执行匿名函数?

答案是,如果您没有使用click()这样的事件处理程序,浏览器就会这样做。