फॉर, व्हाइल और डू व्हाइल लूप इन Javaउदाहरण सहित स्क्रिप्ट
⚡ स्मार्ट सारांश
फॉर, व्हाइल और डू व्हाइल लूप में Javaयह स्क्रिप्ट कोड को दोहराए बिना कथनों के एक ब्लॉक को दोहराती है। यह लेख प्रत्येक सिंटैक्स की व्याख्या करता है, अपेक्षित आउटपुट के साथ चलने योग्य उदाहरण दिखाता है, for-in और for-of रूपों को जोड़ता है, और ब्रेक, कंटिन्यू और अनंत लूप की रोकथाम को कवर करता है।

लूप क्या है? Javaलिखी हुई कहानी?
लूप तब उपयोगी होते हैं जब आपको कोड की एक ही लाइन को बार-बार, एक निश्चित संख्या में या जब तक कोई विशिष्ट शर्त सत्य हो, निष्पादित करना होता है। मान लीजिए कि आप अपने वेबपेज में 100 बार 'हैलो' संदेश टाइप करना चाहते हैं। बेशक, आपको एक ही लाइन को 100 बार कॉपी करके पेस्ट करना होगा। इसके बजाय, यदि आप लूप का उपयोग करते हैं, तो आप इस कार्य को केवल 3 या 4 लाइनों में पूरा कर सकते हैं।
हर लूप, चाहे उसका सिंटैक्स कैसा भी हो, तीन समान भागों से बना होता है: एक प्रारंभिक मान, एक शर्त जो यह तय करती है कि अगला चरण चलेगा या नहीं, और एक अपडेट जो लूप को उसके अंत की ओर ले जाता है। नीचे दिया गया आरेख इस दोहराए जाने वाले चक्र को दर्शाता है।
विभिन्न प्रकार के लूप Javaलिपि
इसमें मुख्यतः चार प्रकार के लूप होते हैं Javaलिपि.
- पाश के लिए
- for/in लूप
- घुमाव के दौरान
- do…while लूप
आधुनिक Javaस्क्रिप्ट सीधे मानों को दोहराने के लिए for…of लूप जोड़ती है, इसलिए व्यवहार में पाँच प्रकार उपलब्ध हैं। नीचे दी गई तालिका दर्शाती है कि किसी विशेष स्थिति में किस प्रकार का उपयोग करना है।
| पाश | स्थिति की जाँच की गई | न्यूनतम निष्पादन | के लिए सर्वोत्तम उपयोग |
|---|---|---|---|
| एसटी | प्रत्येक पास से पहले | 0 | ज्ञात संख्या में पुनरावृत्ति |
| जब | प्रत्येक पास से पहले | 0 | किसी स्थिति से प्रेरित एक अज्ञात गणना |
| जबकि ऐसा | प्रत्येक पास के बाद | 1 | वे मेनू और प्रॉम्प्ट जो केवल एक बार चलने चाहिए |
| में लिए | प्रत्येक पास से पहले | 0 | किसी वस्तु की कुंजियों को पढ़ना |
| के लिए | प्रत्येक पास से पहले | 0 | किसी ऐरे या स्ट्रिंग के मानों को पढ़ना |
पाश के लिए
सिंटेक्स:
for(statement1; statement2; statment3)
{
lines of code to be executed
}
- स्टेटमेंट 1 को लू के निष्पादन से पहले ही निष्पादित किया जाता है।ping कोड। इसलिए, इस कथन का उपयोग सामान्यतः उन चरों को मान निर्दिष्ट करने के लिए किया जाता है जिनका उपयोग लूप के अंदर किया जाएगा।
- कथन2 लूप को निष्पादित करने की शर्त है।
- स्टेटमेंट 3 हर बार लू के बाद निष्पादित होता हैping कोड निष्पादित हो गया है।
इसे स्वयं आज़माएँ:
<html>
<head>
<script type="text/javascript">
var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
document.write("<b>Using for loops </b><br />");
for (i=0;i<students.length;i++)
{
document.write(students[i] + "<br />");
}
</script>
</head>
<body>
</body>
</html>
आउटपुट:
Using for loops John Ann Aaron Edwin Elizabeth
काउंटर 0 से शुरू होता है क्योंकि पहले इंडेक्स का मान 0 होता है। सरणी यह शून्य है, और शर्त students.length का उपयोग करती है, इसलिए नाम जोड़े या हटाए जाने पर लूप स्वचालित रूप से अनुकूलित हो जाता है।
घुमाव के दौरान
सिंटेक्स:
while(condition)
{
lines of code to be executed
}
जब तक निर्दिष्ट शर्त सत्य है, तब तक "while loop" निष्पादित होता है। while loop के अंदर, आपको वह कथन शामिल करना चाहिए जो किसी समय पर loop को समाप्त कर देगा। अन्यथा, आपका loop कभी समाप्त नहीं होगा और आपका ब्राउज़र क्रैश हो सकता है।
इसे स्वयं आज़माएँ:
<html>
<head>
<script type="text/javascript">
document.write("<b>Using while loops </b><br />");
var i = 0, j = 1, k;
document.write("Fibonacci series less than 40<br />");
while(i<40)
{
document.write(i + "<br />");
k = i+j;
i = j;
j = k;
}
</script>
</head>
<body>
</body>
</html>
आउटपुट:
Using while loops Fibonacci series less than 40 0 1 1 2 3 5 8 13 21 34
⚠️ चेतावनी: एक while लूप जिसकी कंडीशन कभी false नहीं होती, ब्राउज़र टैब को फ्रीज़ कर देता है। हमेशा यह सुनिश्चित करें कि बॉडी के अंदर मौजूद वेरिएबल कंडीशन को false की ओर ले जा रहा है, और जब एग्जिट बाहरी डेटा पर निर्भर करता हो तो सेफ्टी काउंटर का उपयोग करें।
do…while लूप
सिंटेक्स:
do
{
block of code to be executed
} while (condition)
do…while लूप while लूप के समान ही होता है। अंतर केवल इतना है कि do…while लूप में, कोड का ब्लॉक कंडीशन की जांच किए बिना ही एक बार एग्जीक्यूट हो जाता है।
इसे स्वयं आज़माएँ:
<html>
<head>
<script type="text/javascript">
document.write("<b>Using do...while loops </b><br />");
var i = 2;
document.write("Even numbers less than 20<br />");
do
{
document.write(i + "<br />");
i = i + 2;
}while(i<20)
</script>
</head>
<body>
</body>
</html>
आउटपुट:
Using do...while loops Even numbers less than 20 2 4 6 8 10 12 14 16 18
अंतर तब स्पष्ट होता है जब शुरुआत से ही शर्त गलत हो। while लूप कुछ भी प्रिंट नहीं करता, जबकि do…while लूप रुकने से पहले एक लाइन प्रिंट करता है।ping.
for…in लूप
for…in लूप किसी ऑब्जेक्ट के एन्यूमरेबल प्रॉपर्टी नामों के माध्यम से चलता है। प्रत्येक पास में लूप वेरिएबल को अगली कुंजी असाइन की जाती है, और मान को ब्रैकेट नोटेशन के साथ पढ़ा जाता है।
const student = { name: "Ann", age: 21, course: "JavaScript" }; for (const key in student) { console.log(key + " : " + student[key]); }
आउटपुट:
name : Ann age : 21 course : JavaScript
💡टिप: एरे पर for…in लूप का प्रयोग करने से बचें। यह इंडेक्स मानों को स्ट्रिंग के रूप में लौटाता है और इनहेरिटेड प्रॉपर्टीज़ को भी एक्सेस करता है, जिससे अप्रत्याशित परिणाम आ सकते हैं। इसके बजाय एरे के लिए for…of या क्लासिक for लूप का प्रयोग करें।
for…of लूप और forEach
for…of लूप किसी भी इटरेबल ऑब्जेक्ट के मानों को पढ़ता है, जिसमें एरे, स्ट्रिंग, मैप और सेट शामिल हैं। forEach विधि कॉलबैक फ़ंक्शन के साथ यही परिणाम प्राप्त करती है और इंडेक्स तक पहुंच प्रदान करती है।
const students = ["John", "Ann", "Aaron"]; // for...of reads each value directly for (const name of students) { console.log(name); } // forEach supplies the value and the index students.forEach(function (name, index) { console.log(index + " - " + name); }); // strings are iterable too for (const letter of "Ann") { console.log(letter); }
आउटपुट:
John Ann Aaron 0 - John 1 - Ann 2 - Aaron A n n
एक महत्वपूर्ण व्यावहारिक अंतर यह है कि ब्रेक और कंटिन्यू, for…of फ़ंक्शन के अंदर काम करते हैं, लेकिन forEach के अंदर इनका उपयोग नहीं किया जा सकता है, क्योंकि प्रत्येक कॉलबैक एक अलग फ़ंक्शन होता है।
विराम और जारी कथन
दो कीवर्ड किसी भी लूप के सामान्य प्रवाह को बदल देते हैं। ब्रेक स्टेटमेंट लूप से पूरी तरह बाहर निकल जाता है, और कंटिन्यू स्टेटमेंट वर्तमान चरण को छोड़कर अगले चरण पर चला जाता है।
const numbers = [4, 7, 10, 13, 16, 19]; // continue: skip odd numbers for (const n of numbers) { if (n % 2 !== 0) { continue; } console.log("even: " + n); } // break: stop at the first value above 12 for (const n of numbers) { if (n > 12) { console.log("first value above 12: " + n); break; } }
आउटपुट:
even: 4 even: 10 even: 16 first value above 12: 13
आप जो भी स्क्रिप्ट लिखेंगे, उसमें लगभग हर जगह लूप दिखाई देंगे। आगे बढ़ते रहें। व्यावहारिक Javaस्क्रिप्ट कोड के उदाहरणपुनः देखें Javaस्क्रिप्ट ऐरे विधियाँ इन लूपों के ऊपर निर्मित पुनरावृति सहायकों के लिए, और पढ़ें आंतरिक व बाह्य Javaलिपि यह तय करने के लिए कि तैयार स्क्रिप्ट को कहाँ रखा जाना चाहिए।

