javascript - Comment modifier la valeur de retour d'une fonction js?
ringa_lee
ringa_lee 2017-05-19 10:11:24
0
5
620
Nous devons maintenant encapsuler la couche contextuelle dans un composant. Le composant de la couche contextuelle contient deux fonctions d'opération : "annuler" et "confirmer", et les valeurs de retour sont respectivement fausses et vraies. Comment la valeur de retour de ce composant est-elle déterminée par les valeurs de retour de ces deux opérations ?

Le code est le suivant :

 function tips(){
    //调用函数时,显示弹出层
    $('.mask').show();
    
    //取消
    $('.cancel').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        return false;
    });
    
    //确定
    $('.confirm').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        return true;
    });
}

Je veux l'appeler ainsi :

if( tips() ){
    do_something_true...
}else{
    do_something_false...
}
Merci
ringa_lee
ringa_lee

ringa_lee

répondre à tous(5)
淡淡烟草味
function tips(cb){
    //调用函数时,显示弹出层
    $('.mask').show();
    
    //取消
    $('.cancel').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        cb(false);
    });
    
    //确定
    $('.confirm').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        cb(true);
    });
}

tips(function(ret){
  if(ret) {
     // blabla
  } else {
    // blabal
  }
});

Si vous souhaitez montrer vos compétences, vous pouvez le faire dans ES7 :

function tips(){
  return new Promise(resolve => {
    //调用函数时,显示弹出层
    $('.mask').show();
    
    //取消
    $('.cancel').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        resolve(false);
    });
    
    //确定
    $('.confirm').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        resolve(true);
    });
  });
}

async function test() {
  if( await tips()) {
    // do_something_when_true...
  } else {
    // do_something_when_false
  }
  // 是不是熟悉的味道?Promsie是个好东西,async/await更是
}
大家讲道理
function tips(confirmCallback, cancelCallback){
    //调用函数时,显示弹出层
    $('.mask').show();
    
    //取消
    $('.cancel').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        cancelCallback && cancelCallback();
        return false;
    });
    
    //确定
    $('.confirm').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        confirmCallback && confirmCallback();
        return true;
    });
}
左手右手慢动作

Ajoutez un drapeau. Le drapeau peut également être représenté par des nombres comme 0 et 1.

function tips(){
    var flag = false;
    //调用函数时,显示弹出层
    $('.mask').show();
    
    //取消
    $('.cancel').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        flag = false;
    });
    
    //确定
    $('.confirm').on('click',function(){
        $('.mask').hide();    //隐藏弹出层
        flag = true;
    });
    return flag;
}
曾经蜡笔没有小新

Je viens d'apprendre une méthode très stupide
var tips_vla="";
function tips(){

//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
    $('.mask').hide();    //隐藏弹出层
    tips_vla=0;
    al(tips_vla);
})
//确定
$('.confirm').on('click',function(){
    $('.mask').hide();    //隐藏弹出层
    tips_vla=1;
    al(tips_vla);
});

}
tips();
function al(){
if(tips_vla){

alert("你点击了确认");

}autre{

  alert("你点击了取消");

}
}

滿天的星座

La manière la plus paresseuse est d'ajouter un point d'exclamation, hee hee

if( !tips() ){
    do_something_true...
}else{
    do_something_false...
}

Bien sûr, il est préférable d'écrire une phrase dans la fonction tips(), renvoie true

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal