2013-06-11 11 views
20

मैं समझता हूं कि जावास्क्रिप्ट में सभी बयानों के बाद अर्धविरामों का उपयोग करने के लिए यह अच्छा वाक्यविन्यास है, लेकिन क्या कोई यह जानता है कि अगर घुंघराले ब्रेसिज़ के बाद कथनों की आवश्यकता नहीं होती है?अगर/अन्य कथन के बाद अर्धविराम का उपयोग क्यों नहीं किया जाता है?

+1

'जबकि {} do' और' for() {} 'इस संपत्ति में भी है। –

+0

यह भाषा व्याकरण के बारे में है। आप जानते हैं कि क्या है, "स्टेटमेंट्स" [यहां] देखें (http://www-archive.mozilla.org/js/language/grammar14.html)। – acdcjunior

+0

[घुंघराले ब्रेसिज़ के बाद मुझे अर्धविराम का उपयोग कब करना चाहिए?] (Http://stackoverflow.com/questions/2717949/when-should-i-use-a-semicolon-after-curly-braces) –

उत्तर

33
  • अर्द्धविराम एक बयान
  • { और } शुरू समाप्त करने और बयान

मूल रूप से, एक if-else या तो एक बयान या बयान के एक समूह द्वारा पालन किया जाना चाहिए के एक समूह को बंद करने के लिए किया जाता है।

if-else एक बयान के बाद:

if (condition) statement; 
if (condition); // followed by a statement (an empty statement) 

if-else बयान के समूह द्वारा पीछा किया:

if (condition) { 
    statement; 
    statement; 
} 

if (condition) { 
    // followed by a group of statements of zero length 
} 

if-else एक ; साथ समाप्त होना चाहिए अगर यह एक सिंगल स्टेटमेंट द्वारा पीछा किया। if-else; के साथ समाप्त नहीं होता है जब बयानों के समूह के बाद ; का उपयोग एक ही कथन को समाप्त करने के लिए किया जाता है, और इसका उपयोग कथन के समूह को समाप्त करने के लिए नहीं किया जाता है।

+0

पास नहीं करता है। – Orangepill

+0

मैं असहमत हूं "यहां तक ​​कि अगर और साथ समाप्त होना चाहिए;"। जावास्क्रिप्ट में कोई भी विवरण समाप्त नहीं होना चाहिए; FYI करें। इस तरह के कोई सख्त नियम नहीं है। – Vineeth

+0

कोई भी कथन जिसे प्रासंगिक रूप से समाप्त नहीं किया गया है (यानी घुंघराले ब्रेसिज़ द्वारा) को एक की आवश्यकता है; – Orangepill

5

क्योंकि घुंघराले ब्रेसिज़ स्वयं समाप्त होने वाले पात्र हैं।

टोकन हैं जो एक यौगिक स्टेटमेंट ब्लॉक संलग्न करते हैं और आंतरिक रूप से समाप्त हो जाते हैं। यह एक वाक्य के अंत में एक अवधि डालने जैसा है, यह पार्सर को संकेत देता है कि विचार पूरा हो गया है।

पूरी तरह से बदसूरत होने पर यह {} में प्रत्येक कथन को लपेटने के लिए मान्य है और;

+0

लेकिन आप छोड़ सकते हैं; {} – Orangepill

+0

में लपेटकर निश्चित रूप से जेएस लिंट – FlavorScape

9

वास्तविक उत्तर यह है कि कई आधुनिक भाषाओं ने सी से अपने वाक्यविन्यास की प्रतिलिपि बनाई है, जिसमें यह संपत्ति है। जावास्क्रिप्ट इन भाषाओं में से एक है।

सी बयान ब्लॉक

{ ... } 

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

यदि आप एकल कथन में तत्कालीन- या अन्य खंड में रखते हैं, तो आपको इसे अर्धविराम से समाप्त करना होगा। फिर, जैसा कि सी में, अतिरिक्त जावास्क्रिप्ट मोड़ के साथ; एक लाइन के अंत में वैकल्पिक है, अगर इसे सम्मिलित करना सिंटैक्स त्रुटि का कारण नहीं बनता है।

संबंधित मुद्दे