दिलचस्प पोस्ट
क्लाइंट में WCF वेब सेवा कस्टम अपवाद त्रुटि कमांड लाइन से एक विशिष्ट फ़ोल्डर में एक्सक्रैपिव उत्पन्न करें धागा संदर्भ स्विचिंग ओवरहेड का अनुमान कैसे करें? अजगर मॉड्यूल का संस्करण कैसे जांच सकता है? कॉलिंग क्लोजर को सीधे ऑब्जेक्ट ऑब्जेक्ट करने के लिए भेजा गया git क्लोन प्रॉक्सी को हल नहीं कर सकता एक्सएएमपीपी में ओपनएसएसएल सक्षम करना जावा में यूज़र-डिफ़ाइंड टाइप को शामिल करने वाले ओरेकल स्टोर की प्रक्रिया को कैसे कॉल करें? इकाई फ़्रेमवर्क 4.3.1 में माइग्रेशन को अक्षम कैसे करें? प्रॉपर्टी नाम पर अंडरस्कोर उपसर्ग? जेएएएसएबी मार्शलिंग एक्सएमपीपी स्टांज़ एक इंट संख्या के अलग अंक कैसे प्राप्त करें? पायथन / पीआईएल का इस्तेमाल करते हुए एचएसवी रंग अंतरिक्ष (आरजीबी से) में थ्रेसहोल्ड का पता लगा रहा है आवधिक अप समय समाप्त Request_mem_region () वास्तव में क्या करता है और जब इसकी आवश्यकता होती है?

जावास्क्रिप्ट में "अपरिभाषित x 1" क्या है?

मैं इस ब्लॉग प्रविष्टि के आधार पर कुछ छोटे प्रयोग कर रहा हूं।

मैं Google क्रोम के डिबगर में यह शोध कर रहा हूं और यहां कठिन हिस्सा आता है।

यह क्या बकवास है?!

मुझे यह तथ्य मिलता है कि मैं स्थानीय चर को नहीं हटा सकता (क्योंकि वे ऑब्जेक्ट विशेषताएँ नहीं हैं)। मुझे लगता है कि मैं 'सभी' पैरामीटर पारित एक 'समारोह में पारित कर सकते हैं सरणी' से कहा 'तर्क' मैं यह भी समझता हूं कि मैं हटा नहीं सकता और सरणी का तत्व, केवल array[0] को प्राप्त करने के लिए अपरिभाषित का मान है

क्या कोई मुझे समझा सकता है कि एम्बेडेड छवि पर undefined x 1 क्या है?

और जब मैं arguments[0] वापस करने के लिए फ़ंक्शन foo को अधिलेखित करता हूं, तो मुझे सामान्य और 'सामान्य' अपरिभाषित मिलता है

यह केवल एक प्रयोग है, लेकिन हस्तक्षेप लगता है, क्या किसी को पता नहीं कि undefined x 1 क्या है?

Solutions Collecting From Web of "जावास्क्रिप्ट में "अपरिभाषित x 1" क्या है?"

ऐसा लगता है कि क्रोम का कोई नया प्रारंभिक अनुक्रमण प्रदर्शित करने का नया तरीका सरणी (और सरणी-समान ऑब्जेक्ट्स) है:

 > Array(100) [undefined × 100] 

जो निश्चित रूप से प्रिंटिंग से बेहतर है [undefined, undefined, undefined,...] या हालांकि यह पहले था।

यद्यपि, यदि केवल एक undefined मान है, तो वे x 1 को छोड़ सकते हैं

Google क्रोम इस undefined xn नोटेशन का उपयोग करते हुए स्पार्स सरणी को प्रदर्शित करने के लिए चुनते हैं। यह दिखाएगा [undefined, undefined] अगर यह एक सरणी नहीं है:

 var arr = new Array(2); console.log(arr); var arr2 = []; arr2[3] = 123; console.log(arr2); var arr3 = [,,,]; console.log(arr3) var arr4 = [,]; console.log(arr4) var arr5 = [undefined, undefined] console.log(arr5) var arr6 = [undefined] console.log(arr6) 

arr1 के लिए arr4 सभी विरल सरणियां हैं, जबकि arr5 और arr6 नहीं हैं। क्रोम उन्हें इन्हें दिखाएगा:

 [undefined × 2] [undefined × 3, 123] [undefined × 3] [undefined × 1] [undefined, undefined] [undefined] 

विरल सरणी के लिए [undefined x 1] नोट करें

चूंकि आपने किसी तत्व को हटा दिया है, यह निम्नानुसार है: यदि आप किसी तत्व से किसी तत्व को हटाते हैं, तो सरणी विरल हो जाती है।

यह कैसे दिखता है, इस कोड को क्रोम devtools कंसोल में टाइप करें: –

 arr = new Array(4); arr[2] = "adf"; console.log(arr); // [undefined × 2, "adf", undefined × 1] 

पहले दो लगातार "अपरिभाषित" देखें, जो कि * 2 द्वारा दर्शाए गए हैं, यह दर्शाते हैं कि वहां दो लगातार अनिर्धारित हैं

क्रोम के नए संस्करण में थोड़े स्पष्ट करने के लिए, undefined × बजाय empty × उपयोग करें।

उदाहरण के लिए, DevTools कंसोल परिणामों में [, undefined] दर्ज करने में:

 ▶(2) [empty × 1, undefined] 

और में चाबियाँ जांचना:

 ▼(2) [empty × 1, undefined] 1: undefined length: 2 ▶__proto__: Array(0) 

यह सिर्फ मेरे साथ भी हुआ दूसरे ब्राउज़र में एक ही चीज़ को खोलें और कंसोल में सरणी को आउटपुट / लॉग आउट करें। जब तक यह दोनों crome और फ़ायरफ़ॉक्स में उसी तरह काम करता है (जैसा कि तत्वों तक पहुँचने के मामले में ठीक काम करता है भले ही आउटपुट में undefinedx1 है), मैं समझता हूं कि क्रोम में किसी तरह का बग आंतरिक रूप से कुछ ताज़ा नहीं करता है आप वास्तव में इसका परीक्षण कर सकते हैं:

  1. मैं तत्वों को एक सरणी में जोड़ रहा था, और element.log () को फायर करने के लिए तत्व को लॉग करने के लिए, यह जांचने के लिए कि यह अपरिभाषित है या नहीं। वे सब परिभाषित थे
  2. धक्का () के बाद मैंने सरणी को लॉग किया और ऐसा प्रतीत होता है कि जब यह हुआ, तो यह हमेशा क्रोम पर एक्स 1 परिभाषित किया गया था।
  3. फिर मैंने इसे अधिक बार और बाद में प्रवेश करने की कोशिश की, लेकिन उसी परिणाम के साथ।
  4. हालांकि जब मैंने (आउटपुट के लिए) उपयोग किया, तो उसके सूचकांक का तत्व, यह उचित मूल्य (अजीब) लौटा था
  5. इसके बाद मैंने फिर से सरणी में लॉग इन किया और कहा कि अंतिम इंडेक्स को एक्स 1 को परिभाषित नहीं किया गया था (यह बहुत ही मैंने सीधे सफलता के साथ पहुँचा!)।
  6. फिर मैंने सरणी पर लूप के लिए, प्रत्येक तत्व को प्रवेश या प्रयोग किया, सभी को ठीक दिखाई दिया।
  7. फिर सरणी पर एक और लॉग, अभी भी छोटी गाड़ी

    मैं मूल रूप से उपयोग कर रहा हूँ कोड अनिर्धारित के लिए जाँच की है और वे आग नहीं था, लेकिन मैं सांत्वना में इन सभी अनिर्धारित देख रहा था और यह मुझे (कोई यमक इरादा) गुस्सा दिलाना था।

इसके अलावा पढ़ने के लायक: केवल सरणी पश का उपयोग करते समय एक सरणी में आरंभ किए गए चर? मैं अपने कोड में पॉप () का भी उपयोग कर रहा हूं और यह एक उचित स्पष्टीकरण है कि कंसोल लॉग वास्तव में एक अलग स्थिति का प्रतिनिधित्व करता है (जब कोड 'रुका हुआ') होता है।