如何创建包含变量输入的函数的变量

时间:2019-06-27 03:31:56

标签: javascript function

我想创建一个包含具有变量输入功能的变量。

我尝试过但没有成功


var setup = function( isAjaxSuccess ) {
    return function( ajaxSuccess = isAjaxSuccess ){

       if( ajaxSuccess === true ){
           console.log("success");
       } else {
           console.log("error");
       }        

    };

};

在这里,我们根据功能更改来调用setup(true)或setup(false)。 这里console.log仅用于显示。这里的setup(true)应该基本上返回一个函数。

3 个答案:

答案 0 :(得分:2)

只需返回使用ajaxSuccess的函数:

var setup = function(ajaxSuccess) {
  return function() {
    if (ajaxSuccess === true) {
      console.log('success');
    } else {
      console.log('fail');
     }
  }
};

setup(true)();
setup(false)();

您也可以像这样使它更简洁:

const setup = ajaxSuccess => () => ajaxSuccess ? console.log("success") : console.log("fail");
setup(true)();
setup(false)();

答案 1 :(得分:0)

您不需要运行return语句;只需检查条件中的输入即可:

var setup = function(ajaxSuccess) {
  if (ajaxSuccess === true) {
    console.log('success');
  } else {
    console.log('fail');
  }

};

setup(true);
setup(false);

答案 2 :(得分:0)

由于调用setup(true)返回一个函数,因此您将需要依次调用该函数。试试:

var setup = function(isAjaxSuccess) {
    return function() {
        if (isAjaxSuccess === true ) {
            console.log("success");
        } else {
            console.log("error");
        }
    };
};

var result = setup(true);
result(); // will log "success" to the console