If condition de la vérification sur != “undefined” échoue

Je suis en train de générer du code HTML de contenu pour une carte google maps infowindow. J'ai 7 valeurs qui est censé être affiché si ils n'est pas égal à null, indéfini ou "" (chaîne vide).

Mais apparemment, mon if(e.Property != null || e.Property != "undefined" || e.Property == "") ne fonctionne pas lorsqu'un Property est undefined. Plupart du temps le cas, c'est que e.Email est pas défini. Donc, au lieu de sauter cette partie, mon code encore insère le html + "<br /> partie. Et quand je alert() l'e.E-mail il retourne undefined qui il est censé attraper et sauter si c'était le cas.

J'ai essayé d'écrire if(typeof e.Property != null || typeof e.Property != "undefined" || typeof e.Property == ""), mais qui ne fait pas de différence.

//'e ' is JSON object
var generateHTML = {
init: function(e) {
if (e != null || e != "undefined"){
generateHTML.check(e);
}
},
check: function (e) {
if(e.Title != null || e.Title != "undefined" || e.Title == ""){
html = html + "<b>"+e.Title+"</b>";
}
if(e.Address != null || e.Address != "undefined" || e.Address == ""){
html = html +"<br />"+ e.Address;
}
if(e.Zipcode != null || e.Zipcode != "undefined" || e.Zipcode == ""){
html = html +"<br />"+ e.Zipcode+", ";
}
if(e.City != null || e.City != "undefined" || e.City == ""){
html = html + e.City;
}
if(e.Phone != null || e.Phone != "undefined" || e.Phone == ""){
html = html +"<br />"+ e.Phone;
}
if(e.Email != null || e.Email != "undefined" || e.Email == ""){
html = html +"<br />"+ e.Email;
}
if(e.WebAddress != null || e.WebAddress != "undefined" || e.WebAddress == ""){
html = html +"<br />"+ e.WebAddress;
}
return html;
}
};
Pourquoi mettez-vous undefined dans une chaîne de caractères?
double possible de Comment faire pour vérifier les indéfinis en javascript?
+1 pour la bonne cause

OriginalL'auteur | 2011-12-02