我想创建一个包含具有变量输入功能的变量。
我尝试过但没有成功
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)应该基本上返回一个函数。
答案 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