将变量初始化为 return 值的函数

Initialize variable as function which return value

我定义了一些回调函数:

function callBack (){
 alert('callBack');
}

我在另一个函数中传递了这个回调:

myFunction (callBack);

myFunction 中,我想将我的局部变量初始化为 callBack 并在一种情况下执行它

var todo = null;
function myFunction (callBack){
  if (typeof callBack === "function") {
        todo = callBack();
  }
}
// later in code 

if (todo != null) todo();
todo = null;

但是如果我的 callBack 是 return 一些值的函数,例如 return true; 我的 todo 变量将不会是函数,但会是 returning 值类型。

如何将 todo 变量初始化为 function

当你分配 todo = callBack();调用回调函数,你可以试试:

todo = callBack;