2013-03-26 11 views
5

मैं यह देखने के लिए जांचना चाहता हूं कि एक डीओएम तत्व की एक विशेष विशेषता अपरिभाषित है या नहीं - मैं यह कैसे कर सकता हूं?मैं कैसे जांचूं कि कोई तत्व अपरिभाषित है या नहीं?

मैं कुछ इस तरह की कोशिश की:

if (marcamillion == undefined) { 
    console.log("Marcamillion is an undefined variable."); 
} 
ReferenceError: marcamillion is not defined 

आप देख सकते हैं, संदर्भ त्रुटि, मुझे बता रहा है कि चर परिभाषित नहीं है, लेकिन मेरे if जांच स्पष्ट रूप से काम नहीं कर रहा है क्योंकि यह मानक उत्पादन जेएस ReferenceError त्रुटि संदेश के विपरीत मैं अपने console.log में देख रहा हूं।

संपादित करें 1

या बेहतर अभी तक, अगर मैं यह निर्धारित करने में एक तत्व की विशेषता इस तरह अपरिभाषित है कोशिश कर रहा हूँ:

$(this).attr('value')

क्या निर्धारित करने के लिए सबसे अच्छा तरीका है अगर वह अपरिभाषित है?

+1

संभावित डुप्लिकेट [यह निर्धारित करने के लिए कि चर क्या है 'अपरिभाषित' या 'शून्य'] (http://stackoverflow.com/questions/2647867/how-to-determine-if-variable-is-undefined-or- शून्य) और http://stackoverflow.com/questions/27509/detecting-an-undefined-object-property-in-javascript – lifetimes

उत्तर

8

typeof का उपयोग करना: दूसरे प्रश्न के लिए

if (typeof marcamillion == 'undefined') { 
    console.log("Marcamillion is an undefined variable."); 
} 

संपादित करें:

if ($(this).attr('value')) { 
    // code 
} 
else { 
    console.log('nope.') 
} 
+0

कहें कि मेरे पास एक विशेषता है जिसे मैं मूल्य का परीक्षण करने की कोशिश कर रहा हूं - यानी '$ (यह) .attr ('value') '... यह निर्धारित करने का सबसे अच्छा तरीका क्या होगा कि यह अनिर्धारित है या नहीं? – marcamillion

+1

बस 'अगर ($ (यह) .attr (' value ')) काम करेगा। – romainberger

+0

बिल्कुल सही। धन्यवाद! – marcamillion

4
if (typeof marcamillion === 'undefined') { 
    console.log("Marcamillion is an undefined variable."); 
} 

ध्यान दें कि == के बजाय === का उपयोग कर बेहतर शैली माना जाता है।

+0

कहें कि मेरे पास एक विशेषता है जो मैं - $ ($) .attr ('value') 'के मान का परीक्षण करने की कोशिश कर रहा हूं ... यह निर्धारित करने का सबसे अच्छा तरीका क्या होगा कि यह अनिर्धारित है या नहीं? – marcamillion

संबंधित मुद्दे

 संबंधित मुद्दे