2016-02-12 92 views
-3

下面是我的代码是否有更好的语法来执行此代码?

if(!chineseName) { 
     alert("chineseName is not correct"); 
    } 
    else if(!IDN){ 
     alert("IDN is not correct"); 
    } 
    else if(!mobileNumber){ 
     alert("number is not correct"); 
    } 
    else if(hasAccount){ 
     if(!isAccountNumberValid) { 
      alert("account number is not correct"); 
     } 
     else { 
      check(); 
     } 
    } 
    else { 
     check(); 
    } 



    function check() { 
     if(!check1 && !check2) { 
      alert("Please read NOTE and check the read box."); 
     } 
     else { 
      alert("Everything is good to go!!"); 
     } 
    } 

现在,这个代码工作正确。 但是,我想知道是否有更好的语法来执行相同的事情?

谢谢。

+5

你应该将你的问题http://codereview.stackexchange.com/ – kosmos

+1

提醒一下,你可能会想张贴此问题到codereview.stackexchange.com之前,有人在这里让它无关紧要,你会得到大量的反对票。发生在我身上。 – Anfal

+0

对不起,我不知道我们有那个地方。谢谢 – Dreams

回答

1

您可以组合最后两个,因为动作是相同的,只需更改最后一个条件即可。

if (!chineseName) { 
    alert("chineseName is not correct"); 
} else if (!IDN){ 
    alert("IDN is not correct"); 
} else if (!mobileNumber){ 
    alert("number is not correct"); 
} else if (hasAccount && !isAccountNumberValid) { // Modified condition 
    alert("account number is not correct"); 
} else { 
    check(); 
} 
1

你或许可以将所有警报到一个:

var msg = ""; 

if (!chineseName) { 
    msg = "chineseName is not correct"; 
} else if (!IDN) { 
    msg = "IDN is not correct"; 
} else if (!mobileNumber) { 
    msg = "number is not correct"; 
} else if (hasAccount) { 
    if (!isAccountNumberValid) { 
     msg = "account number is not correct"; 
    } else { 
     msg = check(); 
    } 
} else { 
    msg = check(); 
} 

alert(msg); 


function check() { 
    if (!check1 && !check2) 
     return "Please read NOTE and check the read box."; 

    return "Everything is good to go!!"; 
} 
相关问题