चूंकि अन्य उत्तरों ने बताया कि यह वास्तव में यह समझाए बिना कि यह कैसे काम करता है:
जब switchनिष्पादित होता है, तो यह पहले मिलान caseकथन को ढूंढता है और फिर स्विच के बाद कोड की प्रत्येक पंक्ति को तब तक निष्पादित करता है जब तक कि यह या तो एक breakस्टेटमेंट या switch( returnसंपूर्ण स्टेटमेंट को छोड़ने के लिए एक स्टेटमेंट) को हिट न कर दे । जब आप जानबूझकर इसे छोड़ देते हैं, breakतो अगले के तहत कोड caseभी निष्पादित हो जाता है जिसे फ़ॉल-थ्रू कहा जाता है । तो ओपी की आवश्यकता के लिए:
switch (pageid) {
case "listing-page":
case "home-page":
alert("hello");
break;
case "details-page":
alert("goodbye");
break;
}
breakबयानों को शामिल करना भूल जाना एक सामान्य आम कोडिंग गलती है और पहली बात यह है कि आपको अपनी switchअपेक्षा के अनुरूप काम नहीं करना चाहिए । इस कारण से कुछ लोग इस बात को स्पष्ट करने के लिए "के माध्यम से" कहने के लिए एक टिप्पणी डालना पसंद करते हैं कि जब उद्देश्य पर ब्रेक स्टेटमेंट को छोड़ दिया गया हो। मैं निम्नलिखित उदाहरण में ऐसा करता हूं क्योंकि यह थोड़ा अधिक जटिल है और दिखाता है कि कुछ मामलों में गिरने से पहले कोड को निष्पादित करने के लिए कोड कैसे शामिल हो सकते हैं:
switch (someVar) {
case 1:
someFunction();
alert("It was 1");
// fall through
case 2:
alert("The 2 case");
// fall through
case 3:
// fall through
case 4:
// fall through
case 5:
alert("The 5 case");
// fall through
case 6:
alert("The 6 case");
break;
case 7:
alert("Something else");
break;
case 8:
// fall through
default:
alert("The end");
break;
}
आप (वैकल्पिक रूप से) एक defaultमामले को भी शामिल कर सकते हैं , जिसे निष्पादित किया जाएगा यदि कोई अन्य मामले मेल नहीं खाते हैं - यदि आप एक defaultऔर कोई मामले शामिल नहीं करते हैं तो कुछ भी नहीं होता है। आप (वैकल्पिक रूप से) डिफ़ॉल्ट मामले के माध्यम से गिर सकते हैं।
इसलिए मेरे दूसरे उदाहरण में अगर someVar1 है तो यह कॉल करेगा someFunction()और फिर आपको चार अलर्ट दिखाई देंगे क्योंकि यह कई मामलों से गुजरता है जिनमें से कुछ के तहत अलर्ट होता है। है someVar3, 4 या 5 आप दो अलर्ट देखना चाहते है। यदि someVar7 है, तो आप "कुछ और" देखेंगे और यदि यह 8 या कोई अन्य मूल्य है, तो आप "द एंड" देखेंगे।