JavaScript 如何减少if else语句的使用

    xiaoxiao2021-03-25  117

    ##在js开发中,如何减少if else语句的使用


    情况1:

    if(a为真){ a = a; }else{ a = b; }

    可写成: a = a || b;

    情况2:

    if(a == b){ a = c; }else{ a = d; }

    可写成:a = (a == b) ? a : d; 备注:三目运算里复合语句的运用(三目运算不能出现return)

    (a > 0) ? (alert("11"),document.title="22") : alert("33");

    ###情况3:后端返回数据,前端根据状态进行不同操作

    $.ajax().done(function(data){ if(data.status == 'success'){ //TODO }else if(data.status == 'fail'){ //TODO }else{ //TODO } });

    可写成:

    $.ajax().done(function(data){ switch(data.status){ case 'success': //TODO break; case 'fail': //TODO break; default: //TODO } });

    ###情况4:根据类型给出不同的操作

    function tipsTofruit(fruitType){ if(fruitType == "苹果"){ alert('这是苹果'); }else if(fruitType == "梨"){ alert('这是梨'); }else if(fruitType == "香蕉"){ alert('这是香蕉'); }else{ alert('乡下人,没见过这种水果'); } }

    可写成:

    function tipsTofruit(fruitType){ switch(fruitType){ case '苹果': alert('这是苹果'); break; case '梨' : alert('这是梨'); break; case '香蕉': alert('这是香蕉'); break; default: alert('乡下人,没见过这种水果'); } }

    备注: case 后如果是表达式, switch(n) n设置为true 另一种的方式:(case下有较多相同的执行代码)

    function tipsTofruit(fruitType){ var data = { '苹果': '这是苹果', '梨': '这是梨', '香蕉': '这是香蕉' } var flag = true; $.each(data,function(key){ if(fruitType == key){ alert(data[fruitType]); flag = false; return false;//结束遍历 } }); if(flag){ alert('乡下人,没见过这种水果'); } }
    转载请注明原文地址: https://ju.6miu.com/read-8372.html

    最新回复(0)