मैं Google मानचित्र infowindow के लिए कुछ HTML सामग्री उत्पन्न करने का प्रयास कर रहा हूं। मेरे पास 7 मान हैं जिन्हें प्रदर्शित किया जाना चाहिए यदि वे शून्य, अपरिभाषित या "खाली स्ट्रिंग) के बराबर नहीं हैं।अगर कथन की स्थिति जांच रही है! = "अपरिभाषित" विफल रहता है
लेकिन स्पष्ट रूप से मेरा if(e.Property != null || e.Property != "undefined" || e.Property == "")
काम नहीं करता है जब Property
undefined
है। ज्यादातर मामला यह है कि e.Email
अपरिभाषित है। तो उस भाग को छोड़ने के बजाय, मेरा कोड अभी भी html + "<br />
भाग दर्ज करता है। और जब मैं alert()
ई.ईमेल यह undefined
देता है जो इसे पकड़ने और छोड़ने के मामले में होता है।
मैंने if(typeof e.Property != null || typeof e.Property != "undefined" || typeof e.Property == "")
लिखने की कोशिश की है, लेकिन इससे कोई फर्क नहीं पड़ता।
// '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;
}
};
क्यों आप एक स्ट्रिंग में 'undefined' रखूँ जावास्क्रिप्ट में acurate नहीं हैं? – Jon
संभावित डुप्लिकेट [जावास्क्रिप्ट में अपरिभाषित कैसे जांचें?] (Http://stackoverflow.com/questions/2985771/how-to-check-for-undefined-in-javascript) – Dennis
अच्छे प्रश्न के लिए +1 –