मैं एक पुन: प्रयोज्य फ़ंक्शन बनाने की कोशिश कर रहा हूं जो जांचता है कि कोई चर अपरिभाषित है या नहीं। अजीब चीज यह है कि जब मैं कोड को निष्पादित करने के लिए चर को पास करता हूं तो यह काम नहीं करता है, लेकिन यदि मैं फ़ंक्शन के बाहर एक ही तर्क का उपयोग करता हूं, तो यह काम करता है। क्या इस समारोह को काम करने के लिए परिभाषित करने का कोई तरीका है?कार्य करने के लिए अपरिभाषित चर पारित करते समय त्रुटि?
//THIS WORKS AND RETURN FALSE
alert(typeof sdfsdfsdfsdf !== 'undefined');
//THIS GIVES AN ERROR, WHY?
//Uncaught ReferenceError: sdfsd is not defined
function isDefined(value) {
alert(typeof value !== 'undefined' && value !== null)
}
isDefined(sdfsd);
लाइव उदाहरण यहाँ (त्रुटियों के लिए सांत्वना की जाँच): http://jsfiddle.net/JzJHc/
आप यह नहीं कर सकते हैं। यदि यह अस्तित्व में नहीं है तो आप इसे जांचने के लिए अपने फ़ंक्शन में कैसे प्राप्त कर सकते हैं? इसके अलावा: 'टाइपफ़ मान! ==' अपरिभाषित '&& value! == null' बहुत अनावश्यक है। यदि आप 'शून्य' या 'अपरिभाषित' परीक्षण चाहते हैं, तो बस 'value == null' करें। यह वही काम करता है। –