Πώς μπορώ να ελέγξω για μηδενικές τιμές στη JavaScript;

Πώς μπορώ να ελέγξω για μηδενικές τιμές στη JavaScript; Έγραψα τον παρακάτω κώδικα αλλά δεν λειτούργησε.

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

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

}   

Και πώς μπορώ να βρω σφάλματα στα προγράμματα JavaScript μου;

Λύση

Η Javascript είναι πολύ ευέλικτη όσον αφορά τον έλεγχο για τιμές "null". Υποθέτω ότι στην πραγματικότητα ψάχνετε για κενές συμβολοσειρές, οπότε αυτός ο απλούστερος κώδικας θα λειτουργήσει:

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

Ο οποίος θα ελέγξει για κενές συμβολοσειρές (""), null, undefined, false και τους αριθμούς 0 και NaN

Σημειώστε ότι αν ελέγχετε ειδικά για αριθμούς, είναι ένα συνηθισμένο λάθος να χάσετε το 0 με αυτή τη μέθοδο, και προτιμάται το num !== 0num !== -1 ή ~num (hacky κώδικας που ελέγχει επίσης το -1)) για συναρτήσεις που επιστρέφουν -1, π.χ. indexOf)

Σχόλια (9)

Πρώτον, έχετε μια δήλωση επιστροφής χωρίς σώμα συνάρτησης. Οι πιθανότητες είναι ότι αυτό θα προκαλέσει σφάλμα.

Ένας καθαρότερος τρόπος για να κάνετε τον έλεγχό σας θα ήταν να χρησιμοποιήσετε απλά τον τελεστή !

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

    alert("fill all columns");

}
Σχόλια (1)

μπορείτε να χρησιμοποιήσετε 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 {}   

μπορείτε επίσης να "πετάξετε" τα δικά σας σφάλματα. Βλέπε this.

Σχόλια (1)