javascript - Wie ändere ich den Rückgabewert einer JS-Funktion?
ringa_lee
ringa_lee 2017-05-19 10:11:24
0
5
571
Jetzt müssen wir die Popup-Ebene in eine Komponente kapseln. Die Popup-Ebenenkomponente enthält zwei Operationsfunktionen: „Abbrechen“ und „Bestätigen“, und die Rückgabewerte sind falsch bzw. wahr. Wie wird der Rückgabewert dieser Komponente durch die Rückgabewerte dieser beiden Operationen bestimmt?

Der Code lautet wie folgt:

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

Ich möchte es so nennen:

if( tips() ){ do_something_true... }else{ do_something_false... }
Vielen Dank
ringa_lee
ringa_lee

ringa_lee

Antworte allen (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

            Neueste Downloads
            Mehr>
            Web-Effekte
            Quellcode der Website
            Website-Materialien
            Frontend-Vorlage
            Über uns Haftungsausschluss Sitemap
            Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!