इस इंटरैक्टिव उदाहरण का स्रोत GitHub रिपॉजिटरी में संग्रहीत है। यदि आप इंटरैक्टिव उदाहरण प्रोजेक्ट में योगदान देना चाहते हैं, तो कृपया https://github.com/mdn/interactive-examples को क्लोन करें और हमें एक पुल अनुरोध भेजें।
वाक्य - विन्यास
यदि (शर्त) कथन1 शर्त एक अभिव्यक्ति जिसे सत्य या असत्य माना जाता है। कथन 1 यदि शर्त सत्य है तो कथन निष्पादित किया जाता है। यह कोई भी कथन हो सकता है, जिसमें आगे नेस्टेड if कथन भी शामिल हैं। एकाधिक कथनों को निष्पादित करने के लिए, उन कथनों को समूहित करने के लिए एक ब्लॉक स्टेटमेंट (( ... )) का उपयोग करें। नो स्टेटमेंट निष्पादित करने के लिए, एक खाली स्टेटमेंट का उपयोग करें। कथन 2 वह कथन जो निष्पादित किया जाता है यदि शर्त गलत है और अन्य खंड मौजूद है। कोई भी स्टेटमेंट हो सकता है, जिसमें ब्लॉक स्टेटमेंट और आगे नेस्टेड इफ स्टेटमेंट शामिल हैं।विवरण
एक और यदि खंड बनाने के लिए एकाधिक if...else कथनों को नेस्ट किया जा सकता है। ध्यान दें कि जावास्क्रिप्ट में कोई elseif (एक शब्द में) कीवर्ड नहीं है।
यदि (स्थिति1) कथन1 अन्यथा यदि (स्थिति2) कथन2 अन्यथा यदि (स्थिति3) कथन3 ...अन्यथा कथनएन
यह देखने के लिए कि यह कैसे काम करता है, यदि नेस्टिंग को ठीक से इंडेंट किया गया हो तो यह इस प्रकार दिखेगा:
यदि (स्थिति1) कथन1 अन्यथा यदि (स्थिति2) कथन2 अन्यथा यदि (स्थिति3)...
किसी क्लॉज के भीतर एकाधिक कथनों को निष्पादित करने के लिए, उन कथनों को समूहित करने के लिए एक ब्लॉक स्टेटमेंट (( ... )) का उपयोग करें। सामान्य तौर पर, हमेशा ब्लॉक स्टेटमेंट का उपयोग करना एक अच्छा अभ्यास है, विशेष रूप से नेस्टेड इफ स्टेटमेंट वाले कोड में:
यदि (शर्त) (कथन1) अन्यथा (कथन2)
बूलियन वस्तु की सत्यता या असत्यता के साथ आदिम बूलियन मूल्यों को सत्य और असत्य के साथ भ्रमित न करें। कोई भी मान जो गलत, अपरिभाषित, शून्य, 0, -0, NaN, या खाली स्ट्रिंग ("") नहीं है, और कोई भी वस्तु, जिसमें बूलियन ऑब्जेक्ट भी शामिल है जिसका मान गलत है, शर्त के रूप में उपयोग किए जाने पर सत्य माना जाता है। उदाहरण के लिए:
वर बी = नया बूलियन(झूठा); यदि (बी) // यह स्थिति सत्य है
उदाहरण
यदि...अन्यथा का उपयोग करना
यदि (सिफर_चार === from_char) (परिणाम = परिणाम + to_char; x++; ) अन्यथा (परिणाम = परिणाम + स्पष्ट_चार;)अन्य यदि का उपयोग करना
ध्यान दें कि जावास्क्रिप्ट में कोई अन्यथा सिंटैक्स नहीं है। हालाँकि, आप इसे अन्य और यदि के बीच रिक्त स्थान के साथ लिख सकते हैं:
यदि (x > 50) ( /* सही काम करें */ ) अन्यथा यदि (x > 5) ( /* सही काम करें */ ) अन्यथा ( /* सही काम करें */ )
सशर्त अभिव्यक्ति के भीतर असाइनमेंट
सशर्त अभिव्यक्ति में सरल असाइनमेंट का उपयोग न करने की सलाह दी जाती है, क्योंकि कोड पर नज़र डालने पर असाइनमेंट को समानता के साथ भ्रमित किया जा सकता है। उदाहरण के लिए, निम्नलिखित कोड का उपयोग न करें:
यदि (x = y) ( /* सही काम करें */ )
यदि आपको किसी असाइनमेंट को सशर्त अभिव्यक्ति में उपयोग करने की आवश्यकता है, तो असाइनमेंट के चारों ओर अतिरिक्त कोष्ठक लगाना एक सामान्य अभ्यास है। उदाहरण के लिए:
यदि ((x = y)) ( /* सही काम करें */ )
विशेष विवरण
विनिर्देश | स्थिति | टिप्पणी |
---|---|---|
ईसीएमएस्क्रिप्ट नवीनतम ड्राफ्ट (ईसीएमए-262) |
मसौदा | |
ईसीएमएस्क्रिप्ट 2015 (छठा संस्करण, ईसीएमए-262) उस विनिर्देश में "यदि कथन" की परिभाषा। |
मानक | |
ईसीएमएस्क्रिप्ट 5.1 (ईसीएमए-262) उस विनिर्देश में "यदि कथन" की परिभाषा। |
मानक | |
ईसीएमएस्क्रिप्ट तीसरा संस्करण (ईसीएमए-262) उस विनिर्देश में "यदि कथन" की परिभाषा। |
मानक | |
ईसीएमएस्क्रिप्ट प्रथम संस्करण (ईसीएमए-262) उस विनिर्देश में "यदि कथन" की परिभाषा। |
मानक | प्रारंभिक परिभाषा |
ब्राउज़र अनुकूलता
इस पृष्ठ पर संगतता तालिका संरचित डेटा से तैयार की गई है। यदि आप डेटा में योगदान देना चाहते हैं, तो कृपया https://github.com/mdn/browser-compat-data देखें और हमें एक पुल अनुरोध भेजें।
GitHub पर संगतता डेटा अपडेट करें
डेस्कटॉप | गतिमान | सर्वर | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
क्रोम | किनारा | फ़ायरफ़ॉक्स | इंटरनेट एक्सप्लोरर | ओपेरा | सफारी | एंड्रॉइड वेबव्यू | एंड्रॉइड के लिए क्रोम | एंड्रॉइड के लिए फ़ायरफ़ॉक्स | एंड्रॉइड के लिए ओपेरा | आईओएस पर सफारी | सैमसंग इंटरनेट | नोड.जे.एस | |
यदि नहीं तो | क्रोम पूर्ण समर्थन 1 | एज पूर्ण समर्थन 12 | फ़ायरफ़ॉक्स पूर्ण समर्थन 1 | IE पूर्ण समर्थन 3 | ओपेरा पूर्ण समर्थन हाँ | सफ़ारी पूर्ण समर्थन हाँ | WebView Android पूर्ण समर्थन 1 | क्रोम एंड्रॉइड पूर्ण समर्थन 18 | फ़ायरफ़ॉक्स एंड्रॉइड पूर्ण समर्थन 4 | ओपेरा एंड्रॉइड पूर्ण समर्थन हां | सफ़ारी iOS पूर्ण समर्थन हाँ | सैमसंग इंटरनेट एंड्रॉइड पूर्ण समर्थन 1.0 | नोडज पूर्ण समर्थन हाँ |
सशर्त बयान
सशर्त कथन आपको किसी निर्दिष्ट अभिव्यक्ति के मूल्य के आधार पर अन्य कथनों को छोड़ने या निष्पादित करने की अनुमति देते हैं। ये कथन किसी कार्यक्रम में निर्णय बिंदु होते हैं और कभी-कभी इन्हें कहा भी जाता है शाखा संचालक.
यदि आप कल्पना करते हैं कि एक प्रोग्राम एक सड़क है, और जावास्क्रिप्ट दुभाषिया उस पर चलने वाला एक यात्री है, तो सशर्त बयानों को चौराहे के रूप में सोचा जा सकता है जहां प्रोग्राम कोड दो या दो से अधिक सड़कों में विभाजित होता है, और ऐसे चौराहे पर दुभाषिया को चुनना होगा कि कौन सा आगे ले जाने का रास्ता.
यदि/अन्यथा कथन
यदि कथन एक बुनियादी नियंत्रण कथन है जो जावास्क्रिप्ट दुभाषिया को शर्तों के आधार पर निर्णय लेने, या अधिक सटीक रूप से कथन निष्पादित करने की अनुमति देता है। if कथन के दो रूप हैं। पहला:
यदि (अभिव्यक्ति) कथन
इस रूप में सबसे पहले अभिव्यक्ति का मूल्यांकन किया जाता है। यदि प्राप्त परिणाम सत्य है, तो कथन निष्पादित किया जाता है। यदि अभिव्यक्ति गलत लौटती है, तो कथन निष्पादित नहीं होता है। उदाहरण के लिए:
यदि (उपयोगकर्ता नाम == शून्य) // यदि उपयोगकर्ता नाम चर शून्य या अपरिभाषित उपयोगकर्ता नाम = "एलेक्स" है; // इसे परिभाषित करें
ध्यान दें कि सशर्त अभिव्यक्ति के चारों ओर कोष्ठक if स्टेटमेंट सिंटैक्स का एक आवश्यक हिस्सा हैं।
यदि कथन का दूसरा रूप एक और खंड प्रस्तुत करता है जिसे तब निष्पादित किया जाता है जब अभिव्यक्ति का मूल्यांकन गलत होता है। इसका सिंटैक्स है:
यदि (अभिव्यक्ति) कथन1 अन्यथा कथन2
यदि अभिव्यक्ति सत्य का मूल्यांकन करती है तो यह फॉर्म स्टेटमेंट 1 निष्पादित करता है और यदि अभिव्यक्ति गलत का मूल्यांकन करती है तो स्टेटमेंट 2 निष्पादित करता है। उदाहरण के लिए:
यदि (n == 1) कंसोल.लॉग('1 नया संदेश प्राप्त हुआ।'); अन्यथा कंसोल.लॉग ("प्राप्त" + n + "नए संदेश।");
अन्यथा यदि कथन
यदि/अन्यथा कथन किसी अभिव्यक्ति के मूल्य का मूल्यांकन करता है और परिणाम के आधार पर प्रोग्राम कोड के एक या दूसरे भाग को निष्पादित करता है। लेकिन क्या होगा यदि आपको कई टुकड़ों में से किसी एक को निष्पादित करने की आवश्यकता हो? ऐसा करने का एक संभावित तरीका किसी else if कथन का उपयोग करना है। औपचारिक रूप से, यह एक स्टैंडअलोन जावास्क्रिप्ट ऑपरेटर नहीं है; यह बार-बार यदि/अन्यथा कथन का उपयोग करने की एक सामान्य प्रोग्रामिंग शैली है:
यदि (n == 1) (//ब्लॉक 1 निष्पादित करें) अन्यथा यदि (n == 2) (//ब्लॉक 2 निष्पादित करें) अन्यथा यदि (n == 3) (//ब्लॉक 3 निष्पादित करें) अन्यथा (//यदि न तो पिछले अन्य कथनों में से एक को निष्पादित नहीं किया गया था, ब्लॉक 4 को निष्पादित करें)
इस टुकड़े में कुछ खास नहीं है. यह केवल if कथनों का एक क्रम है, जहां प्रत्येक if कथन पिछले कथन के अन्य खंड का हिस्सा है।
स्विच कथन
एक if स्टेटमेंट प्रोग्राम के प्रवाह में एक शाखा बनाता है, और मल्टी-स्टेट ब्रांचिंग को कई अन्य if स्टेटमेंट्स का उपयोग करके कार्यान्वित किया जा सकता है। हालाँकि, यह हमेशा सबसे अच्छा समाधान नहीं होता है, खासकर यदि सभी शाखाएँ एक ही अभिव्यक्ति के मूल्य पर निर्भर करती हैं। इस मामले में, एक ही अभिव्यक्ति का एकाधिक if कथनों में पुनर्मूल्यांकन करना बेकार है।
स्विच स्टेटमेंट विशेष रूप से ऐसी स्थितियों के लिए डिज़ाइन किया गया है। स्विच कीवर्ड के बाद कोष्ठक में एक अभिव्यक्ति और घुंघराले ब्रेसिज़ में कोड का एक ब्लॉक होता है:
स्विच (अभिव्यक्ति) ( निर्देश )
हालाँकि, स्विच स्टेटमेंट का पूरा सिंटैक्स यहां दिखाए गए से अधिक जटिल है। ब्लॉक में विभिन्न स्थानों को एक कीवर्ड से चिह्नित किया जाता है मामलाउसके बाद एक अभिव्यक्ति और एक बृहदान्त्र वर्ण।
जब एक स्विच स्टेटमेंट निष्पादित किया जाता है, तो यह अभिव्यक्ति के मूल्य का मूल्यांकन करता है और फिर उस मान से मेल खाने वाले केस लेबल की तलाश करता है (पहचान ऑपरेटर === का उपयोग करके मिलान निर्धारित किया जाता है)। यदि लेबल पाया जाता है, तो कोड के ब्लॉक को केस लेबल के बाद पहले कथन से शुरू करके निष्पादित किया जाता है। यदि मिलान मूल्य वाला कोई केस लेबल नहीं मिलता है, तो निष्पादन विशेष लेबल के बाद पहले कथन से शुरू होता है गलती करना:. यदि डिफ़ॉल्ट: लेबल गायब है, तो संपूर्ण स्विच स्टेटमेंट ब्लॉक छोड़ दिया गया है।
स्विच स्टेटमेंट के संचालन को शब्दों में समझाना मुश्किल है; उदाहरण के साथ स्पष्टीकरण अधिक स्पष्ट है। निम्नलिखित स्विच स्टेटमेंट पिछले उदाहरण में दिखाए गए दोहराए गए if/else स्टेटमेंट के बराबर है:
स्विच(एन) (केस 1: // निष्पादित यदि एन === 1 // ब्लॉक 1 ब्रेक निष्पादित करें; // यहां रुकें केस 2: // यदि एन === 2 निष्पादित किया गया // ब्लॉक 2 ब्रेक निष्पादित करें; // रोकें यहां केस 3: // निष्पादित करें यदि n === 3 // ब्लॉक 3 ब्रेक निष्पादित करें; // यहां रुकें डिफ़ॉल्ट: // यदि बाकी सब विफल हो जाता है... // ब्लॉक 4 ब्रेक निष्पादित करें;
कीवर्ड पर ध्यान दें तोड़नाप्रत्येक केस ब्लॉक के अंत में। ब्रेक स्टेटमेंट के कारण नियंत्रण स्विच स्टेटमेंट के अंत में स्थानांतरित हो जाता है और निम्नलिखित स्टेटमेंट का निष्पादन जारी रहता है। स्विच स्टेटमेंट में केस स्टेटमेंट केवल निष्पादित किए जाने वाले प्रोग्राम कोड के शुरुआती बिंदु को निर्दिष्ट करते हैं, लेकिन किसी भी अंतिम बिंदु को निर्दिष्ट नहीं करते हैं।
यदि कोई ब्रेक स्टेटमेंट नहीं है, तो स्विच स्टेटमेंट अभिव्यक्ति के मूल्य के अनुरूप केस लेबल के साथ कोड के ब्लॉक को निष्पादित करना शुरू कर देगा और ब्लॉक के अंत तक पहुंचने तक स्टेटमेंट को निष्पादित करना जारी रखेगा। दुर्लभ मामलों में, यह कोड लिखने के लिए उपयोगी है जो एक केस लेबल से दूसरे केस लेबल पर जाता है, लेकिन 99% मामलों में आपको प्रत्येक केस ब्लॉक को ब्रेक स्टेटमेंट के साथ सावधानीपूर्वक समाप्त करना चाहिए। (किसी फ़ंक्शन के अंदर स्विच का उपयोग करते समय, आप ब्रेक के बजाय रिटर्न स्टेटमेंट का उपयोग कर सकते हैं। ये दोनों स्टेटमेंट स्विच स्टेटमेंट को समाप्त करने और इसे अगले केस लेबल पर जाने से रोकने का काम करते हैं।)
नीचे स्विच स्टेटमेंट का उपयोग करने का एक अधिक व्यावहारिक उदाहरण है, यह एक मान को एक स्ट्रिंग में इस तरह से परिवर्तित करता है जो मान के प्रकार पर निर्भर करता है:
फ़ंक्शन कन्वर्ट (x) ( स्विच (टाइपऑफ़ x) ( // किसी संख्या को हेक्साडेसिमल पूर्णांक केस "नंबर" में कनवर्ट करें: रिटर्न x.toString(16); // एक उद्धृत स्ट्रिंग केस "स्ट्रिंग" लौटाएं: रिटर्न """ + x + """; // किसी भी अन्य प्रकार को सामान्य तरीके से परिवर्तित किया जाता है डिफ़ॉल्ट: रिटर्न x.toString(); ) ) कंसोल.लॉग(कन्वर्ट(1067)); // परिणाम "42बी"
ध्यान दें कि पिछले दो उदाहरणों में, केस कीवर्ड के बाद संख्याएँ या स्ट्रिंग अक्षर आए थे। इस प्रकार स्विच स्टेटमेंट का उपयोग व्यवहार में सबसे अधिक बार किया जाता है, लेकिन ईसीएमएस्क्रिप्ट मानक आपको मामले के बाद मनमाना अभिव्यक्ति निर्दिष्ट करने की अनुमति देता है।
स्विच स्टेटमेंट पहले स्विच कीवर्ड के बाद अभिव्यक्ति का मूल्यांकन करता है, और फिर केस अभिव्यक्तियों का उस क्रम में मूल्यांकन करता है जिसमें वे निर्दिष्ट होते हैं, जब तक कि एक मिलान मूल्य नहीं मिल जाता। मिलान का तथ्य समानता ऑपरेटर == के बजाय पहचान ऑपरेटर === का उपयोग करके निर्धारित किया जाता है, इसलिए अभिव्यक्तियों को किसी भी प्रकार के रूपांतरण के बिना मेल खाना चाहिए।
चूँकि हर बार स्विच स्टेटमेंट निष्पादित होने पर सभी केस एक्सप्रेशन का मूल्यांकन नहीं किया जाता है, इसलिए आपको ऐसे केस एक्सप्रेशन का उपयोग करने से बचना चाहिए जिनके साइड इफेक्ट होते हैं जैसे कि फ़ंक्शन कॉल और असाइनमेंट। केस अभिव्यक्ति को स्थिर अभिव्यक्ति तक सीमित करना सबसे सुरक्षित है।
जैसा कि पहले बताया गया है, यदि कोई भी केस एक्सप्रेशन स्विच स्टेटमेंट से मेल नहीं खाता है, तो स्विच स्टेटमेंट डिफ़ॉल्ट: लेबल वाले स्टेटमेंट को निष्पादित करना शुरू कर देता है। यदि डिफ़ॉल्ट: लेबल गायब है, तो स्विच स्टेटमेंट का मुख्य भाग पूरी तरह से छोड़ दिया जाता है। ध्यान दें कि पिछले उदाहरणों में, लेबल डिफ़ॉल्ट: सभी केस लेबल के बाद, स्विच स्टेटमेंट के मुख्य भाग के अंत में दिखाई देता है। यह इसके लिए एक तार्किक और सामान्य स्थान है, लेकिन वास्तव में यह स्विच स्टेटमेंट के भीतर कहीं भी स्थित हो सकता है।
सशर्त संचालिकाआपको निर्दिष्ट अभिव्यक्ति - स्थिति की गणना के परिणाम के आधार पर कोड के एक निश्चित ब्लॉक को छोड़ने या निष्पादित करने की अनुमति देता है। एक सशर्त कथन को किसी कार्यक्रम में निर्णय बिंदु कहा जा सकता है; कभी-कभी इसे शाखा कथन भी कहा जाता है। यदि आप कल्पना करते हैं कि एक प्रोग्राम एक सड़क है, और PHP दुभाषिया उस पर चलने वाला एक यात्री है, तो सशर्त बयानों को चौराहे के रूप में सोचा जा सकता है जहां प्रोग्राम कोड दो या दो से अधिक सड़कों में विभाजित होता है, और ऐसे चौराहे पर दुभाषिया को चुनना होगा कि कौन सा आगे ले जाने का रास्ता.
यदि कथन
यदि कथन शाखा कथनों में सबसे सरल है।
यदि कथन का सिंटैक्स है:
यदि कथन पहले कोष्ठक में निर्दिष्ट सशर्त अभिव्यक्ति का मूल्यांकन करता है, जिसका परिणाम एक बूलियन मान है। यदि प्राप्त परिणाम सत्य है, तो निर्देश निष्पादित किया जाता है। यदि अभिव्यक्ति गलत लौटती है, तो निर्देश निष्पादित नहीं होता है। किसी भी जटिलता की अभिव्यक्ति को एक शर्त के रूप में इस्तेमाल किया जा सकता है।
यदि if कथन का मुख्य भाग केवल एक निर्देश का उपयोग करता है, तो इसे घुंघराले ब्रेसिज़ में संलग्न करना संभव है, लेकिन आवश्यक नहीं है। हालाँकि, यदि आपको if स्टेटमेंट के मुख्य भाग में एक से अधिक निर्देशों को निष्पादित करने की आवश्यकता है, तो इन कई निर्देशों को घुंघराले ब्रेसिज़ में संलग्न किया जाना चाहिए। कृपया ध्यान दें कि समापन घुंघराले ब्रेस के बाद अर्धविराम नहीं होना चाहिए।
निम्नलिखित कोड if कथन के उपयोग को दर्शाता है:
यदि कथनों को अन्य यदि कथनों में नेस्ट किया जा सकता है:
अंतिम उदाहरण पर ध्यान दें: निर्देश को if कथन के ठीक नीचे लिखा जाना आवश्यक नहीं है; यदि निर्देश आकार में बड़ा नहीं है, तो इसे एक पंक्ति में लिखा जा सकता है।
यदि अन्य कथन
और इसलिए हमने सीखा कि यदि स्थिति सत्य है तो if कथन आपको निर्देशों को निष्पादित करने की अनुमति देता है। यदि शर्त झूठी है, तो कोई कार्रवाई नहीं की जाती है। हालाँकि, यदि कोई निश्चित शर्त सत्य है तो कुछ निर्देशों को निष्पादित करना और यदि स्थिति गलत है तो अन्य निर्देशों को निष्पादित करना अक्सर आवश्यक होता है। ऐसे मामलों के लिए यदि अन्यथा ब्रांचिंग का उपयोग किया जाता है। इसमें एक if स्टेटमेंट के बाद स्टेटमेंट्स का एक ब्लॉक और एक else कीवर्ड और उसके बाद स्टेटमेंट्स का एक और ब्लॉक शामिल होता है।
यदि अन्य कथन का सिंटैक्स है:
अन्य कथन वैकल्पिक है. अन्यथा के बाद स्थित निर्देशों का ब्लॉक डिफ़ॉल्ट रूप से निष्पादित होता है, अर्थात। जब if में सशर्त अभिव्यक्ति गलत लौटाती है। अन्य कथन का उपयोग if कथन से अलग नहीं किया जा सकता है। अन्य ब्लॉक केवल if स्टेटमेंट के बाद ही दिखना चाहिए; इसे डिफ़ॉल्ट कार्रवाई माना जा सकता है।
अपने पिछले उदाहरण को थोड़ा संशोधित करते हुए, हम देख सकते हैं कि यदि स्थिति झूठी आती है तो if else कथन कैसे काम करता है:
यदि अन्य कथन को नेस्ट किया जा सकता है। ऐसे नेस्टेड सशर्त कथन व्यवहार में अक्सर पाए जाते हैं। एक if स्टेटमेंट को नेस्ट किया जाता है यदि इसे दूसरे if या अन्यथा ब्लॉक के अंदर नेस्ट किया जाता है। यदि आपका कोड एक पंक्ति में एकाधिक if कथनों का उपयोग करता है, तो अन्यथा हमेशा निकटतम if को संदर्भित करता है:
अंतिम else if($a) पर लागू नहीं होता है क्योंकि यह आंतरिक ब्लॉक में नहीं है, इसलिए इसका निकटतम if($i) है। ब्लॉक के अंदर अन्य कथन if($b) से संबंधित है क्योंकि यह if इसके सबसे करीब है।
अन्यथा/अन्यथा यदि निर्माण
यदि/अन्यथा कथन एक सशर्त अभिव्यक्ति के मूल्य का मूल्यांकन करता है और प्रोग्राम कोड के एक विशेष भाग को निष्पादित करता है। लेकिन क्या होगा यदि आपको कई टुकड़ों में से किसी एक को निष्पादित करने की आवश्यकता हो? यदि आपको एक पंक्ति में कई स्थितियों की जांच करने की आवश्यकता है, तो अन्यथा यदि निर्माण इसके लिए उपयुक्त है (यह वही निर्माण है, बस अलग तरह से लिखा गया है)। औपचारिक रूप से, यह एक स्वतंत्र PHP निर्माण नहीं है - यह सिर्फ एक सामान्य प्रोग्रामिंग शैली है जिसमें बार-बार if/else स्टेटमेंट का उपयोग करना शामिल है। यह अतिरिक्त स्थितियों का परीक्षण करने की अनुमति देता है जब तक कि सत्य नहीं पाया जाता है या अन्य ब्लॉक तक नहीं पहुंच जाता है। अन्यथा/अन्यथा यदि निर्माणयदि कोई कथन है तो उसे if कथन के बाद और अन्य कथन से पहले रखा जाना चाहिए।
यहां तीन शर्तों की जांच की जाती है और, $username वैरिएबल के मान के आधार पर, अलग-अलग क्रियाएं की जाती हैं।
वास्तव में इस टुकड़े के बारे में कुछ खास नहीं है। यह केवल if कथनों का एक क्रम है, जहां प्रत्येक if कथन पिछले if कथन के अन्य खंड का हिस्सा है। उन लोगों के लिए जिन्होंने पहली बार संकेतन के इस रूप का सामना किया है और वास्तव में यह नहीं समझते हैं कि यह कैसे काम करता है, हम उसी उदाहरण को फिर से लिखेंगे, केवल समकक्ष वाक्यविन्यास रूप में जो संरचनाओं के घोंसले को पूरी तरह से दिखाता है:
वर ए = 10; var b = (a>1) ? 100:200; चेतावनी(बी);
यदि शर्त ए>1सत्य, फिर चर बीमान निर्दिष्ट करें 100 , अन्यथा वेरिएबल बी को मान निर्दिष्ट करें 200 .
जेएस कार्य 3_4.कोड जोड़ें: var कीवर्ड का उपयोग करके 3 स्थानीय चर घोषित किए जाते हैं। अधिकतम वैरिएबल के लिए निम्नलिखित टर्नरी ऑपरेटर का मान निर्दिष्ट करना आवश्यक है: यदि a, b से बड़ा है, तो हम a लौटाते हैं, अन्यथा हम b लौटाते हैं।
सांकेतिक टुकड़ा:
यदि (ए * बी< 6) { result = "Мало"; } else { result = "Много"; }
आत्म-नियंत्रण के लिए प्रश्न:
- टर्नरी ऑपरेटर का सिंटैक्स क्या है?
- टर्नरी ऑपरेटर के पास कितने तर्क हैं?
जावास्क्रिप्ट में स्विच ऑपरेटर - स्विच
जावास्क्रिप्ट स्विच स्टेटमेंट का उपयोग एकाधिक मानों के लिए एक चर का परीक्षण करने के लिए किया जाता है:
वाक्य - विन्यास:
स्विच (वेरिएबल या एक्सप्रेशन) (केस विकल्प1: //..बयानों का ब्लॉक.. ब्रेक केस विकल्प2: //..बयानों का ब्लॉक.. डिफ़ॉल्ट तोड़ें: //..बयानों का ब्लॉक..)
एक चर या अभिव्यक्ति का मान जाँचा जाता है: प्रत्येक में मामलामानों में से एक की जाँच की जाती है, यदि मान उपयुक्त है, तो इसके अनुरूप ऑपरेटरों का एक या दूसरा ब्लॉक निष्पादित किया जाता है मामला.
सर्विस शब्द डिफॉल्ट से शुरू होने वाले ब्लॉक को छोड़ा जा सकता है। यदि सूचीबद्ध मानों में से कोई भी मौजूद नहीं है तो ब्लॉक स्टेटमेंट निष्पादित किए जाएंगे मामलाफिट नहीं बैठता.
महत्वपूर्ण:प्रत्येक विचारित वैरिएबल मान (प्रत्येक के बाद) के बाद ब्रेक स्टेटमेंट आवश्यक है मामला); यदि आप इसका उपयोग नहीं करते हैं, तो नीचे दिए गए सभी कथन मुद्रित कर दिए जाएंगे
ऑपरेटर से तुलना करें अगर:
वर ए = 2; स्विच(ए) ( केस 0: // यदि (ए === 0) केस 1: // यदि (ए === 0) अलर्ट ("शून्य या एक"); // फिर प्रिंट करें... ब्रेक; केस 2: // यदि (ए === 2) चेतावनी ("दो"); // फिर प्रदर्शित करें... डिफ़ॉल्ट तोड़ें: // अन्यथा चेतावनी ("कई");
अनेक विकल्पों का समूह कैसे बनाएं?
समान कथनों को निष्पादित करने के लिए, कई को समूहीकृत करना संभव है मामला. जैसा कि ऊपर दिए गए उदाहरण में है:
केस 0: केस 1: अलर्ट ("शून्य या एक"); तोड़ना; ...
जब a = 0 और a = 1, एक ही कथन निष्पादित किया जाता है: चेतावनी ("शून्य या एक");
उदाहरण 4:उपयोगकर्ता को रंग दर्ज करने के लिए प्रेरित करें. प्रविष्ट रंग का अंग्रेजी अनुवाद आउटपुट करें। रंग के लिए "नीला"और "नीला"समान मूल्य उत्पन्न करें.
✍ समाधान:
- HTML स्केलेटन और टैग के साथ एक वेब पेज बनाएं लिखी हुई कहानी.
- वेरिएबल को आरंभ करें रंग
- एक निर्माण का उपयोग करके एक चर का मान जांचें पसीना, प्रत्येक मान के लिए संबंधित अनुवाद आउटपुट:
- फूलों के लिए "नीला"और "नीला"समूहीकरण करें:
- का मान "नीला" है, फिर अनुवाद को मोडल विंडो में प्रदर्शित करें - "नीला" और संरचना से बाहर निकलें (ब्रेक;)।
- // ... डिफ़ॉल्ट: चेतावनी ("हमें इस रंग के बारे में कोई जानकारी नहीं है") ) // अंत स्विच
var रंग = संकेत ("कौन सा रंग?"); |
var रंग = संकेत ("कौन सा रंग?");
स्विच (रंग) (मामला "लाल": चेतावनी ("लाल"); टूटना; मामला "हरा": चेतावनी ("हरा"); टूटना; // ...
यदि चर रंगका मान "लाल" है, फिर अनुवाद को मोडल विंडो में प्रदर्शित करें - "लाल" और संरचना से बाहर निकलें (ब्रेक;)। यदि चर रंगका मान "हरा" है, फिर अनुवाद को मोडल विंडो में प्रदर्शित करें - "हरा" और संरचना से बाहर निकलें (ब्रेक;)।
// ... मामला "नीला": मामला "नीला": चेतावनी ("नीला"); तोड़ना;
यदि चर रंग// ... रंगइसका मान "नीला" या परिवर्तनशील है
उन रंगों के लिए आउटपुट व्यवस्थित करें जो प्रोग्राम द्वारा प्रदान नहीं किए गए हैं: //...डिफ़ॉल्ट: चेतावनी("हमें इस रंग के बारे में कोई जानकारी नहीं है" |
) ) // अंत स्विच
ब्राउज़र में स्क्रिप्ट का परीक्षण करें.जेएस कार्य 3_6.
14 15 16 17 | निम्नलिखित कोड स्निपेट में त्रुटियाँ ढूंढें और ठीक करें: वर संख्या = शीघ्र("संख्या 1 या 2 दर्ज करें:" "आपने 1 और 2 के अलावा कोई अन्य मान दर्ज किया है") ; } ; } |
var नंबर = प्रॉम्प्ट ("नंबर 1 या 2 दर्ज करें:"); स्विच (संख्या) (केस "1" ( डॉक्यूमेंट.राइट("एक"); ); ब्रेक; केस "2" ( डॉक्यूमेंट.राइट("दो"); ); ब्रेक; डिफॉल्ट ( डॉक्यूमेंट.राइट("आपने प्रवेश किया 1 और 2 के अलावा अन्य मान"); ); )
जेएस कार्य 3_7.निम्नलिखित कोड चलाने पर स्क्रीन पर क्या प्रदर्शित होगा?
1 2 3 4 5 6 7 8 9 10 11 12 13 | वर मान = "2" ; स्विच (मान) ( केस "1" : केस "2" : केस "3" : डॉक्यूमेंट.राइट ("हैलो" ); ब्रेक ; केस "4" : केस "5" : डॉक्यूमेंट.राइट ("वर्ल्ड" ) ; डिफ़ॉल्ट: document.write("त्रुटि"); |
वर मान = "2"; स्विच (मान) (केस "1": केस "2": केस "3": डॉक्यूमेंट.राइट("हैलो"); ब्रेक; केस "4": केस "5": डॉक्यूमेंट.राइट("वर्ल्ड" ); डिफ़ॉल्ट: document.write("त्रुटि");
जेएस कार्य 3_8.उपयोगकर्ता से एक संख्या पूछें - शाखा पर कौवों की संख्या। दर्ज संख्या (10 से अधिक नहीं) के आधार पर, संदेश प्रदर्शित करें: - एक शाखा पर बैठता है 1 कौआ- एक शाखा पर बैठता है 4 कौवे- एक शाखा पर बैठता है 10 कौवे
- दर्ज संख्या के आधार पर, शब्द का अंत बदल जाता है "कौआ".
- जाँच करने के लिए, जावास्क्रिप्ट स्विच ऑपरेटर का उपयोग करें।
- इस पृष्ठ को अपने परिणाम फ़ोल्डर में सहेजें (यह भविष्य के काम के लिए उपयोगी होगा)।
आत्म-नियंत्रण के लिए प्रश्न:
- किस मामले में निर्माण को सशर्त ऑपरेटर के रूप में उपयोग करना उचित है बदलना?
- कथन में डिफ़ॉल्ट ब्लॉक का उद्देश्य क्या है? बदलना?
- क्या किसी निर्माण में ब्रेक स्टेटमेंट का उपयोग करना आवश्यक है? बदलना?
- किसी कथन में एकाधिक मान विकल्पों का समूह कैसे बनाएं बदलना?
जावास्क्रिप्ट चक्रीय ऑपरेटर - के लिए
वाक्य - विन्यास:
for(प्रारंभिक काउंटर वैल्यू; स्थिति; काउंटर वेतन वृद्धि) ( //..बयानों का ब्लॉक.. )
महत्वपूर्ण:जावास्क्रिप्ट में एक लूप का उपयोग तब किया जाता है जब यह पहले से ज्ञात हो कि चक्रीय क्रियाओं को कितनी बार दोहराया जाना चाहिए (लूप में कितने पुनरावृत्तियाँ हैं)
- एक असाइनमेंट एक्सप्रेशन का उपयोग पुनरावृत्ति काउंटर के प्रारंभिक मान के रूप में किया जाता है: उदाहरण के लिए, i=0 - लूप काउंटर शून्य से शुरू होता है:
- काउंटर की वृद्धि उस चरण को निर्दिष्ट करती है जिसके साथ काउंटर को बढ़ाना चाहिए: उदाहरण के लिए, यह इंगित करता है कि लूप के प्रत्येक पुनरावृत्ति के साथ इसकी वृद्धि भी होगी 1 :
- लूप स्थिति काउंटर का अंतिम मान है: उदाहरण के लिए, i10, लूप को रोकता है:
for(var i = 0; शर्त; काउंटर इंक्रीमेंट) ( //..बयानों का ब्लॉक.. )
for(var i = 0; शर्त; i++) ( //..बयानों का ब्लॉक.. )
for(var i = 0; i<10; i++) { //..блок операторов.. }
आइए जावास्क्रिप्ट में फॉर लूप का उपयोग करने का एक उदाहरण देखें:
उदाहरण 5:संख्याओं का अनुक्रम प्रिंट करें 0 1 2 3 ... 9 , प्रत्येक अंक एक नई लाइन पर है। 0 1 2 ... 8 9
✍ समाधान:
- संख्याओं का अनुक्रम प्रदर्शित करने के लिए, हम लूप काउंटर के लिए उपयोग करेंगे, जिससे इसका मान बदलना चाहिए 0 पहले 9 क्रम के अनुसार.
- अभीतक के लिए तो लूप काउंटर का प्रारंभिक मूल्यमान को इस पर सेट करें 0 ; जैसा चक्र की स्थितिअंतिम मान निर्धारित करें - ii=9; काउंटर चरण के बराबर होना चाहिए 1 (i++), चूँकि अनुक्रम के सदस्यों के बीच अंतर एक है:
- // ... डिफ़ॉल्ट: चेतावनी ("हमें इस रंग के बारे में कोई जानकारी नहीं है") ) // अंत स्विच
(var i=0; i के लिए)<10; i++)
{
document.write(i+"
");
}
उदाहरण में, लूप काउंटर के मान स्क्रीन पर प्रदर्शित होते हैं, क्योंकि तदनुसार i++ काउंटर की वृद्धि स्क्रीन पर दिखाई देगी 0 1 2 3 ... 9
, प्रत्येक अंक एक नई लाइन पर शुरू होता है (टैग
).
जेएस कार्य 3_9. 1 पहले 15 .
- संख्याओं के अनुक्रम के रूप में लूप काउंटर का उपयोग करें के लिए.
- योजक चर के लिए, चर पहचानकर्ता का उपयोग करें जोड़.
सांकेतिक टुकड़ा:
(var i=...;...;...)( sum = sum + ...; ) ... के लिए
लूप निकास विवरण तोड़नाऔर जारी रखनाजावास्क्रिप्ट में. ऑपरेटर बाहर निकलना
ब्रेक ऑपरेटर संपूर्ण लूप बॉडी के निष्पादन को बाधित करता है, अर्थात। जावास्क्रिप्ट में एक लूप से बाहर निकलता है।
जबकि जारी कथन लूप के वर्तमान पुनरावृत्ति के निष्पादन को बाधित करता है, लेकिन अगले पुनरावृत्ति से लूप के निष्पादन को जारी रखता है।
आइए एक उदाहरण का उपयोग करके ब्रेक और जारी रखने वाले ऑपरेटरों के संचालन को देखें:
उदाहरण:कोड खंड के एल्गोरिदम को अलग करें। आउटपुट क्या होगा?
सांकेतिक टुकड़ा:
1 2 3 4 5 6 | (var i= 0 ; i के लिए)<
10
;
i++
)
{
if
(i==
4
)
continue
;
document.write
(i+
" " ) ; यदि (i== 8 ) टूट जाए ; ) |
(var i=0;i के लिए)<10;i++)
{
if (i==4) continue;
document.write(i+"
"); यदि (i==8) टूट जाए; )
✍ समाधान:
- उदाहरण की तीसरी पंक्ति में एक शर्त है जिसके कारण संख्या 4 प्रदर्शित नहीं किया जाएगा: ऑपरेटर जारी रखनामौजूदा लूप को पूरा किए बिना लूप के अगले पुनरावृत्ति पर चला जाएगा।
- पंक्ति संख्या 5 लूप से बाहर निकलती है, लेकिन साथ ही संख्या भी 8 स्क्रीन पर प्रदर्शित किया जाएगा, क्योंकि आउटपुट स्टेटमेंट कंडीशन से पहले आता है (चौथी पंक्ति में)। मुलाकात हुई तोड़ना, दुभाषिया लूप को समाप्त कर देगा।
- वह। स्क्रीन दिखाएगी: 0 1 2 3 5 6 7 8 - प्रत्येक अंक एक नई लाइन पर है।
टास्क जेएस 3_10.सभी पूर्णांकों का योग प्रिंट करें 1 पहले 15 , कुल राशि से संख्याओं को छोड़कर 5 और 7 .
निकास कथन
जावास्क्रिप्ट भाषा प्रोग्राम कोड से बाहर निकलने के लिए एक ऑपरेटर प्रदान करती है - निकास ऑपरेटर।
ऑपरेटर का सबसे आम उपयोग उपयोगकर्ता इनपुट त्रुटियों को खत्म करना है।
आइए एक उदाहरण देखें:
उदाहरण 6:उपयोगकर्ता को एक नंबर दर्ज करने के लिए कहें. यदि दर्ज किया गया नंबर कोई नंबर नहीं है, तो एक संदेश प्रदर्शित करें "एक नंबर चाहिए!"और प्रोग्राम बंद करो.
✍ समाधान:
- वेरिएबल को आरंभ करें संख्याउपयोगकर्ता द्वारा मोडल विंडो में दर्ज किया गया मान:
- किसी स्ट्रिंग को पूर्णांक में बदलने के लिए parseInt फ़ंक्शन का उपयोग करके, जांचें कि दर्ज किया गया मान एक संख्या है या नहीं:
- किसी वेरिएबल का मान जांचें संख्या IsNaN फ़ंक्शन का उपयोग करना:
- द्वारा "झूठ" का नियमकिसी वेरिएबल के मान की जाँच व्यवस्थित करें एक्स. यदि मान संख्यात्मक नहीं है, तो उचित नोट प्रिंट करें और प्रोग्राम से बाहर निकलें:
- प्रोग्राम को जारी रखने के लिए (यदि दर्ज किया गया मान एक संख्या था), निम्नलिखित इनपुट प्रॉम्प्ट प्रदर्शित करें:
- // ... डिफ़ॉल्ट: चेतावनी ("हमें इस रंग के बारे में कोई जानकारी नहीं है") ) // अंत स्विच
var नंबर = प्रॉम्प्ट ("एक नंबर दर्ज करें");
संख्या=parseInt(संख्या); // NaN लौटाएं - कोई संख्या नहीं
यदि दर्ज की गई संख्या कोई संख्या नहीं है, तो फ़ंक्शन NaN (अंग्रेजी से) मान लौटाएगा। कोई संख्या नहीं- कोई संख्या नहीं)।
x = isNaN(संख्या); // यदि मान संख्यात्मक नहीं है तो सत्य लौटाएगा
IsNaN फ़ंक्शन मान लौटाता है सत्ययदि चर कोई संख्या नहीं है
यदि (x)( चेतावनी('संख्या आवश्यक है!'); बाहर निकलें; // प्रोग्राम से बाहर निकलें)
चेतावनी ("दूसरा नंबर दर्ज करें"); // यदि आप एक गैर-नंबर दर्ज करते हैं, तो ऑपरेटर निष्पादित नहीं किया जाएगा
आत्म-नियंत्रण के लिए प्रश्न:
- तीन लूप पैरामीटर सूचीबद्ध करें के लिएऔर उनका उद्देश्य स्पष्ट करें।
- किसी लूप से बाहर निकलने और उसे बाधित करने के लिए कौन से कथन का उपयोग किया जाता है? उनके उपयोग के उदाहरण दीजिए।
- ऑपरेटर का उद्देश्य क्या है? बाहर निकलना?
क्या एक FOR में एकाधिक काउंटर रखना संभव है?
उपयोग करते समय फॉर लूप के साथ दिलचस्प काम संभव है एक लूप में एक साथ दो काउंटर.
आइए एक उदाहरण देखें:
उदाहरण 7:स्क्रिप्ट का उपयोग करके, निम्नलिखित चर-मूल्य जोड़े को तीन पंक्तियों में प्रिंट करें: i=0 j=2 i=1 j=3 i=2 j=4
✍ समाधान:
- फॉर लूप में, दो काउंटर व्यवस्थित करें: अनुक्रम को प्रिंट करने के लिए काउंटर i 0 1 2 , अनुक्रम आउटपुट के लिए काउंटर जे 2 3 4 :
- प्रत्येक पंक्ति से आउटपुट के लिए, टैग का उपयोग करें
:
1 2 3 | के लिए (i= 0 , j= 2 ; i< 10 , j< 5 ; i++, j++ ) { } |
for(i=0, j=2; i<10, j<5; i++, j++) { }
लूप के तीन मापदंडों में से प्रत्येक में अब दो मान हैं, जो सूचीबद्ध हैं कॉमा द्वारा अलग(उदाहरण के लिए, दो मानों वाला पहला पैरामीटर: i=0, j=2)। पैरामीटर स्वयं सूचीबद्ध हैं अर्धविराम द्वारा अलग किया गया(;).
1 2 3 4 | के लिए (i= 0 , j= 2 ; i<
10
,
j<
5
;
i++,
j++
)
{
document.write
(" i='' , i, ''j='' , j) ; ) |
for(i=0, j=2; i<10, j<5; i++, j++)
{
document.write("
i=', i, 'j=',j); )
तुरंत एक पेज बनाना: यह कैसा है?
अगला कार्य करने से पहले, आइए एक उदाहरण देखें गतिशील रूप से एक HTML पृष्ठ बनानाजावास्क्रिप्ट का उपयोग करना।
उदाहरण 8:
- आपको उपयोगकर्ता इनपुट के आधार पर वेब पेज पर गतिशील रूप से बुलेटेड और क्रमांकित सूचियां उत्पन्न करने की आवश्यकता है: उपयोगकर्ता को प्रवेश करने के लिए संकेत दें लिस्ट व्यू(संख्यांकित (संख्या 1) या चिह्नित (संख्या 2)), और फिर सूची आइटम की संख्या.
- उत्तर के आधार पर, आवश्यक संख्या में आइटमों के साथ बुलेटेड या क्रमांकित सूची के टैग प्रदर्शित करें।
- यदि कोई गैर-मौजूद सूची प्रकार दर्ज किया गया है, तो एक संदेश प्रदर्शित करें "सही प्रकार दर्ज करें!"और प्रोग्राम से बाहर निकलें ()।
आइए टैग याद रखें:
क्रमांकित सूची टैग:
<राजभाषा > <ली > li > <ली > li > <ली > li > </ol> |
बुलेटेड सूची टैग:
var listType=prompt ("1" दर्ज करें - यदि बुलेटेड सूची है, "2" - यदि क्रमांकित सूची है");
- , चिह्नित (संख्या 2) के लिए - टैग
- . यदि कोई भिन्न मान दर्ज किया गया है, तो एक नोट प्रिंट करें और प्रोग्राम समाप्त करें:
- वेरिएबल को आरंभ करें कोल्वोउपयोगकर्ता द्वारा मोडल विंडो में दर्ज किया गया मान:
- किसी स्ट्रिंग मान को संख्यात्मक मान में बदलने के लिए, parseInt फ़ंक्शन का उपयोग करें:
- चूँकि सूचियाँ उपयुक्त टैग के साथ बंद की जाती हैं, सूची के प्रकार के आधार पर, समापन टैग प्रिंट करें:
- ") अन्य (चेतावनी("सही प्रकार दर्ज करें"); बाहर निकलें; )
var kolvo=prompt('अंकों की संख्या दर्ज करें');
(var i=1; i के लिए)<=kolvo; i++) document.write("");
यदि (सूची प्रकार== "1") दस्तावेज़.लिखें("" ) अन्यथा यदि (सूची प्रकार== "2") दस्तावेज़.लिखें ("" ) ; |
यदि (सूची प्रकार=='1'') document.write(''
जेएस असाइनमेंट 3_11.
एक स्क्रिप्ट लिखें जो टैग प्रदर्शित करे इनपुट(नियंत्रण तत्व) विभिन्न प्रकार के, दर्ज संख्या के आधार पर:
1
- पाठ्य से भरा,
2
- बटन,
3
- रेडियो(बदलना)।
प्रदर्शित टैग की संख्या का भी अनुरोध किया जाना चाहिए।
आइए टैग याद रखें:
1 के लिए - पाठ फ़ील्ड: 2 के लिए - बटन: 3 के लिए - रेडियो:
उदाहरण आउटपुट:
असाइनमेंट जेएस 3_12.लूप्स के लिए जावास्क्रिप्ट का उपयोग करके 9x9 शतरंज की बिसात बनाएं। आपको तालिका के लिए html टैग का उपयोग करके बोर्ड को "आरेखित" करना चाहिए:
आइए टैग याद रखें:
<टेबल बॉर्डर = "1" चौड़ाई = "30%" > <tr > <टीडी >-</टीडी> | -</टीडी> </tr> </टेबल> |
- | - |
- 9 रेखाएँ खींचने के लिए, आपको एक काउंटर i के साथ एक बाहरी लूप को व्यवस्थित करने की आवश्यकता है।
- प्रत्येक पंक्ति में 9 सेल बनाने के लिए, आपको एक काउंटर j के साथ लूप के लिए एक आंतरिक (नेस्टेड) व्यवस्थित करने की आवश्यकता है।
- सेल और पंक्ति टैग को प्रस्तुत करने के लिए, आपको document.write विधि का उपयोग करना चाहिए।
परिणाम:
इसके अतिरिक्त:
- लूप काउंटर (i और j) का उपयोग करके तालिका कक्षों में गुणन तालिका प्रदर्शित करें।
- पहली पंक्ति और पहले कॉलम को लाल पृष्ठभूमि के साथ प्रदर्शित करें (तालिका सेल विशेषता bgcolor):
<टीडी बीजीकलर = "लाल" >-</टीडी> -
परिणाम:
आत्म-नियंत्रण के लिए प्रश्न:
- बताएं कि "डायनामिक पेज बिल्डिंग" की अवधारणा का क्या अर्थ है?
- किसी पृष्ठ को गतिशील रूप से बनाते समय किस भाषा निर्माण का सबसे अधिक उपयोग किया जाता है?
जावास्क्रिप्ट चक्रीय ऑपरेटर - जबकि
जबकि कथन का वाक्यविन्यास है:
जबकि (हालत) ( //..बयानों का ब्लॉक.. );
उदाहरण:संवाद बॉक्स तक दो की शक्तियाँ प्रदर्शित करें 1000 (2, 4, 8...512)। अलर्ट() विधि का प्रयोग करें
✍ समाधान:
- स्क्रिप्ट सूचीकरण:
- अपने ब्राउज़र में परिणाम का परीक्षण करें.
1 2 3 4 5 | वर ए = 1 ; जबकि एक< 1000 ) { a*= 2 ; alert(a) ; } |
वर ए = 1; जबकि एक< 1000){ a*=2; alert(a); }
a*=2 → कंपाउंड असाइनमेंट ऑपरेशन का उपयोग किया गया था: एक असाइनमेंट के साथ संयुक्त उत्पाद, यानी। a = a*2 के समान
थोड़ी देर के लूप में ब्रेक और कंटिन्यू स्टेटमेंट कैसे काम करते हैं?
उदाहरण:
वर ए = 1 ; जबकि एक< 1000 ) { a*= 2 ; if (a== 64 ) continue ; if (a== 256 ) break ; alert(a) ; } |
वर ए = 1; जबकि एक< 1000){ a*=2; if (a==64) continue; if (a==256) break; alert(a); }
दो की शक्तियाँ तक आउटपुट होंगी 128 समावेशी, और मूल्य 64 याद आओगे। वे। संवाद बॉक्स में हम देखेंगे: 2 4 8 16 32 128
टास्क जेएस 3_13.निम्नलिखित कोड स्निपेट किस मान को आउटपुट करेगा?
वर काउंटर = 5; जबकि(काउंटर< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }
टास्क जेएस 3_14.निर्माण कोड लिखें एक्सडिग्री तक यथोड़ी देर के लूप का उपयोग करना। वेरिएबल्स के मानों को क्वेरी करें और अलर्ट() का उपयोग करके परिणाम प्रदर्शित करें।
कोड पूरा करें:
1 2 3 4 5 6 7 8 9 | वर एक्स = ...; वर y = ...; काउंटर = 1 ; संख्या=x; जबकि (...) (चिसलो= x* ...; काउंटर= ...; ) चेतावनी(चिसलो) ; |
वर एक्स = ...; वर y = ...; काउंटर = 1; संख्या=x; जबकि (...)( chislo=x*...; काउंटर=...; ) चेतावनी(chislo);
किसी संख्या का भाज्य ज्ञात करने के लिए डिज़ाइन किए गए प्रोग्राम में त्रुटि को सुधारें:
1 2 3 4 5 6 7 8 9 10 11 12 13 | var काउंटर = प्रॉम्प्ट ("एक नंबर दर्ज करें"); वर फैक्टोरियल = 1; दस्तावेज़.लिखें( "किसी संख्या का गुणनखंड:"+ काउंटर + "! = " ) ; करो (यदि (काउंटर == 0 ) (फैक्टोरियल = 1 ; ब्रेक ; ) फैक्टरियल = फैक्टोरियल / काउंटर; काउंटर = काउंटर + 1 ; ) जबकि (काउंटर > 0 ) ; दस्तावेज़.लिखें(तथ्यात्मक); |
var काउंटर = प्रॉम्प्ट ("एक नंबर दर्ज करें"); वर फैक्टोरियल = 1; document.write("किसी संख्या का गुणनखंड:" + काउंटर + "! = "); करो (यदि (काउंटर == 0) (फैक्टोरियल = 1; ब्रेक; ) फैक्टोरियल = फैक्टोरियल / काउंटर; काउंटर = काउंटर + 1; ) जबकि (काउंटर > 0); दस्तावेज़.लिखें(तथ्यात्मक);
टास्क जेएस 3_16.उपयोगकर्ता के लिए नाम दर्ज करने के लिए प्रोग्राम को संशोधित करें:
उपयोगकर्ता नाम के लिए संकेत दें जब तक कि उपयोगकर्ता वास्तव में नाम दर्ज न कर दे (अर्थात् फ़ील्ड वास्तव में भर जाए और रद्द कुंजी न दबाई जाए)। जब नाम दर्ज हो जाए तो प्रदर्शित करें "हैलो, नाम!". दस्तावेज़।
जावास्क्रिप्ट में त्रुटियाँ कैसे खोजें?
कुछ मामलों में, पृष्ठ पर मौजूद कोड किसी अज्ञात कारण से काम नहीं करता है। त्रुटि कहाँ देखें? ऐसे मामलों में, आप ट्राई..कैच ऑपरेटर का उपयोग कर सकते हैं।
ट्राई..कैच स्टेटमेंट कोड के एक टुकड़े को निष्पादित करने का प्रयास करता है, और यदि कोड में कोई त्रुटि है, तो स्क्रीन पर त्रुटि प्रदर्शित करना संभव है।
त्रुटि e.message ऑब्जेक्ट में संग्रहीत है।
आइए एक उदाहरण का उपयोग करके ऑपरेटर के कार्य को देखें:
उदाहरण:प्रोग्राम में एक त्रुटि विवरण लिखें. अनुमानित त्रुटिपूर्ण कोड में त्रुटियों की जाँच करें: यदि कोड में कोई त्रुटि है, तो एक संदेश प्रदर्शित करें "त्रुटि प्रबंधन: त्रुटि नाम". त्रुटिपूर्ण कथन की जाँच करने के बाद, चाहे कोड में कोई त्रुटि हो, संदेश प्रदर्शित करें "अंतिम कार्रवाई"
✍ समाधान:
- एक त्रुटि संदेश के रूप में, हम एक त्रुटि के साथ लिखी गई प्रॉम्प्ट() विधि का उपयोग करेंगे - तत्पर(). त्रुटि संदेश को प्रयास ब्लॉक में संलग्न करें:
- त्रुटि संदेश को कैच ब्लॉक में रखा जाना चाहिए:
- अंतिम संदेश, जिसे आउटपुट होना चाहिए, भले ही कोड में कोई त्रुटि हो, अंततः ब्लॉक में रखें:
चेतावनी('पहले'); प्रयास करें (promt ("एक संख्या दर्ज करें"); // त्रुटि वाला कथन)
अंग्रेजी से प्रयास करें - "कोशिश करें", इस प्रकार हम प्रयास कथन को कोड के एक टुकड़े से पहले रखते हैं जिसमें त्रुटि हो सकती है (हमारे मामले में वास्तव में एक त्रुटि है)।
6 7 8 9 | पकड़ो (ई) (चेतावनी( "त्रुटि प्रबंधन: "+ ई.संदेश); ) |
कैच (ई) ( अलर्ट ("त्रुटि प्रबंधन:" + ई.संदेश); )
यदि वास्तव में कोई त्रुटि है, तो कैच ऑपरेटर इस त्रुटि को ई ऑब्जेक्ट में संग्रहीत करता है। भविष्य में इसे एक डायलॉग बॉक्स - e.message में प्रदर्शित किया जा सकता है।
अंततः (चेतावनी('अंतिम क्रियाएं'); ) चेतावनी('बाद');
यदि अभी भी कोई त्रुटि है, तो दुभाषिया, इसे हमारे उदाहरण में मुद्रित करने के बाद, कैच ब्लॉक को निष्पादित करने के लिए आगे बढ़ेगा, और फिर अंत में (अंग्रेजी से "समापन", "अंततः"), जिसे हमेशा निष्पादित किया जाएगा, चाहे कुछ भी हो कोई त्रुटि थी या नहीं. भले ही कैच ब्लॉक में कोई त्रुटि हो।
महत्वपूर्ण:निर्माण में अंततः ब्लॉक वैकल्पिक है।
टास्क जेएस 3_17.निम्नलिखित संशोधनों के साथ उपरोक्त उदाहरण का पालन करें:
सारांश:
पाठ में निम्नलिखित जावास्क्रिप्ट भाषा ऑपरेटरों और निर्माणों को शामिल किया गया:
जावास्क्रिप्ट सशर्त कथन:
लूप ऑपरेटर:
अंतिम असाइनमेंट जेएस 3_18।
दो लोगों के लिए एक गेम बनाएं:
- प्रोग्राम पहले खिलाड़ी से एक नंबर दर्ज करने के लिए कहता है 1 पहले 100 (दूसरा खिलाड़ी दर्ज किया गया नंबर नहीं देखता है)। फिर दूसरे खिलाड़ी को दर्ज संख्या का अनुमान लगाने के लिए कहा जाता है। प्रत्युत्तर में एक संदेश प्रदर्शित होता है "कुछ"या "बहुत ज़्यादा"दर्ज किए गए उत्तर के आधार पर. यदि खिलाड़ी सही अनुमान लगाता है, तो एक बधाई प्रदर्शित होती है। यदि वह अनुमान नहीं लगाता है, तो खेल जारी रहता है (जब तक संख्या का वास्तव में अनुमान नहीं लगाया जाता)।
- प्रयासों की संख्या गिनें और संख्या हल हो जाने पर परिणाम दें।
आत्म-नियंत्रण के लिए प्रश्न:
- फॉर इन लूप का उपयोग करना कब उचित है? इसके उपयोग का एक उदाहरण दीजिए।
- ट्राई..कैच स्टेटमेंट का उद्देश्य क्या है?
- प्रत्येक ट्राई..कैच स्टेटमेंट ब्लॉक का उद्देश्य स्पष्ट करें।