Hvordan kontrollerer jeg, om der er nulværdier i JavaScript?

Hvordan kan jeg kontrollere, om der er nulværdier i JavaScript? Jeg skrev nedenstående kode, men den virkede ikke.

if (pass == null || cpass == null || email == null || cemail == null || user == null) {      

    alert("fill all columns");
    return false;  

}   

Og hvordan kan jeg finde fejl i mine JavaScript-programmer?

Løsning

Javascript er meget fleksibelt med hensyn til at kontrollere for "null" værdier. Jeg gætter på, at du faktisk leder efter tomme strenge, i hvilket tilfælde denne enklere kode vil fungere:

if(!pass || !cpass || !email || !cemail || !user){

Hvilket vil kontrollere for tomme strenge (""), null, undefined, false og tallene 0 og NaN.

Bemærk venligst, at hvis du specifikt kontrollerer for tal, er det en almindelig fejl at overse 0 med denne metode, og num !== 0 er at foretrække (eller num !== -1 eller ~num (hacky kode, der også kontrollerer mod -1)) for funktioner, der returnerer -1, f.eks. indexOf)

Kommentarer (9)

For det første har du en return-erklæring uden en funktionskrop. Der er gode chancer for, at det vil give en fejl.

En renere måde at foretage din kontrol på ville være at bruge !-operatoren:

if (!pass || !cpass || !email || !cemail || !user) {

    alert("fill all columns");

}
Kommentarer (1)

du kan bruge try catch finally

 try {
     document.getElementById("mydiv").innerHTML = 'Success' //assuming "mydiv" is undefined
 } catch (e) {

     if (e.name.toString() == "TypeError") //evals to true in this case
     //do something

 } finally {}   

du kan også kaste dine egne fejl. Se dette.

Kommentarer (1)