यदि कोई चर परिभाषित किया गया है तो मुझे परीक्षण कैसे करना चाहिए?परीक्षण करें यदि कोई चर जावास्क्रिप्ट में परिभाषित किया गया है?
if //variable is defined
//do this
else
//do this
यदि कोई चर परिभाषित किया गया है तो मुझे परीक्षण कैसे करना चाहिए?परीक्षण करें यदि कोई चर जावास्क्रिप्ट में परिभाषित किया गया है?
if //variable is defined
//do this
else
//do this
if (typeof variable !== 'undefined') {
// ..
}
else
{
// ..
}
की तरह कुछ का उपयोग कर सकते यहाँ और अधिक व्याख्या पढ़ सकते हैं:
आप इस
if (typeof varname != 'undefined')
{
//do this
}
else
{
//do this
}
आप बस प्रकार की जाँच करें।
if(typeof yourVar !== "undefined"){
alert("defined");
}
else{
alert("undefined");
}
in
ऑपरेटर का उपयोग करें।
'myVar' in window; // for global variables only
typeof
चेकों एक चर यदि के लिए सच वापस आ जाएगी,
undefined
है, यानिम्नलिखित उदाहरण दूसरे और तीसरे बिंदु को चित्रित करेंगे।
// defined, but not initialized
var myVar;
typeof myVar; // undefined
// defined, and initialized to undefined
var myVar = undefined;
typeof myVar; // undefined
है, आप वैश्विक चर के विशेष मामले में केवल * विंडो * में उपयोग कर सकते हैं क्योंकि उन्हें वैश्विक वस्तु के गुण भी बनाये जाते हैं। स्थानीय चरों में ऐसी कोई स्वीकार्य चर वस्तु नहीं है। यह मानते हुए कि ब्राउज़र विंडो के लिए एक विंडो ऑब्जेक्ट उचित हो सकता है लेकिन सामान्य रूप से यह वास्तव में सत्य नहीं है। – RobG
@RobG - इसे 'विंडो' या वैश्विक वस्तु नहीं होना चाहिए। इसके बजाय किसी ऑब्जेक्ट का उपयोग किया जा सकता है। आपने स्थानीय रूप से परिभाषित चर के बारे में एक अच्छा बिंदु उठाया है जो यहां उपलब्ध नहीं है। मुझे यह पता लगाने में दिलचस्पी होगी कि मेरे पास पहले मानदंडों के आधार पर स्थानीय चर के लिए अनिश्चितता निर्धारित करने का कोई तरीका है या नहीं। – Anurag
यदि आप चर और दायरे के बारे में बात कर रहे हैं, तो आप केवल वैश्विक चर के बीच अंतर कर सकते हैं (क्योंकि वे वैश्विक वस्तु के गुण हैं) और शेष। नेस्टेड फ़ंक्शन में, यह बताना असंभव है कि कोई पहचानकर्ता स्थानीय या बाहरी फ़ंक्शन वैरिएबल है क्योंकि आप संबंधित चर ऑब्जेक्ट्स तक नहीं पहुंच सकते हैं। वस्तु संपत्ति संकल्प एक अलग बात है। – RobG
सख्त तुलना और बेहतर प्रदर्शन के लिए === का उपयोग करें। –
@ अमेरिकनवाईक-इन * टाइपोफ * * [==]] (http://ecma-international.org/ecma-262/5.1/#sec-11.9.3) को हल करने के लिए एल्गोरिदम का परीक्षण करें और ['=== '] (http://ecma-international.org/ecma-262/5.1/#sec-11.9.6) समान है क्योंकि दोनों मानों में एक ही प्रकार (स्ट्रिंग) है, तो बेहतर प्रदर्शन कहां से आता है? – RobG
यह विफल रहता है क्योंकि 'टाइपऑफ नल'' ऑब्जेक्ट' – nikjohn