javascript - Comment modifier la valeur de retour d'une fonction js?
ringa_lee
ringa_lee 2017-05-19 10:11:24
0
5
573
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 } });

如果要炫技,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; }); }
      左手右手慢动作

      加一个flag标志吧,flag也可以用数字类似0,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; }
        曾经蜡笔没有小新

        刚学很笨的办法
        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("你点击了确认");

        }else{

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

        }
        }

          滿天的星座

          最懒的办法,加个感叹号,嘻嘻嘻

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

          当然了,最好在tips()函数里面还得写一句,return true

            Derniers téléchargements
            Plus>
            effets Web
            Code source du site Web
            Matériel du site Web
            Modèle frontal
            À propos de nous Clause de non-responsabilité Sitemap
            Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!