अविकसित चर के लिए परीक्षण - जावास्क्रिप्ट, चर, अपरिभाषित, feedparser

मैं जावास्क्रिप्ट का उपयोग कर एक आरएसएस फ़ीड पार्स करने की कोशिश कर रहा हूं।कभी-कभी फ़ीड में कई श्रेणियां होती हैं, इसलिए मैं यह जांचना चाहता हूं कि आइटम 2 पर कुछ भी है या नहीं। अगर मैं जांच नहीं करता कि मुझे कोई त्रुटि मिलती है और जब मैं निम्नलिखित कोड का उपयोग करता हूं तो जांचने के लिए मुझे त्रुटि भी मिलती है। (मैं " cat2 बस एक परीक्षण के रूप में अगर चर परिभाषित किया गया है या नहीं)।

var catItem = item.getElementsByTagName("category").item(2).text;

if (typeof catItem != "undefined"){
var cat2 = "1"
}
else{

var cat2 = "2"
}

उत्तर:

जवाब के लिए 0 № 1
var catItem = document.getElementsByTagName("category")[2];
var cat2 = "2";

if (typeof catItem !== "undefined") {
cat2 = "1";
}

आप इसे एक टर्नरी ऑपरेशन का उपयोग करके भी छोटा कर सकते हैं:

var catItem = document.getElementsByTagName("category")[2];
var cat2 = catItem ? "2" : "1";

उत्तर № 2 के लिए 1

यह जांच कर रहा है कि क्या एक चर अपरिभाषित है, ऊपर दिए गए अनुसार निम्नलिखित के माध्यम से किया जा सकता है, अगर (टाइप करें catItem! == "अपरिभाषित") {...}

हालांकि, मैं बस यह इंगित करना चाहता था कि अपरिभाषित चर एक अविकसित चर के समान नहीं है। जैसा कि आप शीर्षक में डाल रहे हैं, आप जो भी पूछ रहे हैं वह "अविकसित चर के लिए परीक्षण" नहीं है।

अपरिभाषित चर एक चर है जो "घोषित" है लेकिन किसी भी मान को असाइन नहीं किया गया है। एक अविकसित चर एक चर है जिसे "var" कीवर्ड के साथ घोषित नहीं किया गया है।


जवाब के लिए 0 № 3

आप "कोड केवल तभी काम करेंगे जब स्थिति 2 की श्रेणी में कोई तत्व हो।

क्यों न करें:

if(item.getElementsByTagName("category").length > 1) {

जवाब के लिए 0 № 4

आप इस तरह कुछ कोशिश कर सकते हैं:

var catItem = item.getElementsByTagName("category");
if(catItem[1]) {
...
}
else {
...
}

संबंधित सवाल
सबसे लोकप्रिय