【问题标题】:Initialize variable as function which return value将变量初始化为返回值的函数
【发布时间】:2015-02-04 10:41:46
【问题描述】:

我定义了一些回调函数:

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 true; 我的todo 变量将不是函数,而是作为返回值类型。

我如何才能将todo 变量初始化为function

【问题讨论】:

    标签: javascript callback


    【解决方案1】:

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

    todo = callBack;
    

    【讨论】:

    • 那么callBack有输入参数的情况呢?
    • 调用时: if (todo != null) todo();在 todo 传递参数!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 2020-04-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多