Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में एक बुरा विचार सरणी पुनरावृत्ति के साथ "के लिए ... इन" का उपयोग क्यों कर रहा है?

<घंटा/>

सरणी पुनरावृत्ति के साथ जावास्क्रिप्ट में for..in लूप का उपयोग करना निम्न व्यवहार के कारण एक बुरा विचार है -

सामान्य पुनरावृत्ति लूप का उपयोग करना -

उदाहरण

चलो arr =[]arr[4] =5for (चलो i =0; i  

आउटपुट

undefinedundefinedundefinedundefined5

यदि हमने निर्माण के लिए का उपयोग करके इस सरणी पर पुनरावृति की होती, तो हमें -

. मिल जाता

उदाहरण

<पूर्व>गिरफ्तारी करें =[]arr[4] =5for (मुझे गिरफ्तार होने दें) { कंसोल.लॉग(arr[i])}

आउटपुट

5

ध्यान दें कि सरणी की लंबाई 5 है, लेकिन यह अभी भी सरणी में केवल एक मान पर पुनरावृति करता है।

ऐसा इसलिए होता है क्योंकि फॉर-इन स्टेटमेंट का उद्देश्य ऑब्जेक्ट गुणों की गणना करना है। यह कथन प्रोटोटाइप श्रृंखला में ऊपर जाएगा, जिसमें विरासत में मिली संपत्तियों की भी गणना की जाएगी, एक ऐसी चीज जो कभी-कभी वांछित नहीं होती है।


  1. जावास्क्रिप्ट वस्तुओं की सरणी पर सरणी के तरीकों का उपयोग करना?

    जावास्क्रिप्ट ऑब्जेक्ट्स की सरणी पर सरणी के तरीकों का उपयोग करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"

  1. एक शर्त के साथ एक जावास्क्रिप्ट सरणी में शामिल होना?

    जावास्क्रिप्ट में एक शर्त के साथ जावास्क्रिप्ट सरणी का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  1. सेलेनियम का उपयोग करके लोड करने के लिए जावास्क्रिप्ट के साथ जटिल पृष्ठ की प्रतीक्षा करें।

    हम सेलेनियम के साथ लोड होने के लिए जावास्क्रिप्ट के साथ एक जटिल पृष्ठ की प्रतीक्षा कर सकते हैं। पेज लोड होने के बाद, हम Javascript मेथड document.readyState . को लागू कर सकते हैं और पूर्ण . तक प्रतीक्षा करें लौटा दिया गया है। सिंटैक्स JavascriptExecutor js =(JavascriptExecutor)driver;js.executeScript