questions - javascript programs




क्या आप जावास्क्रिप्ट में प्रत्येक कथन के बाद अर्धविरामों का उपयोग करने की सलाह देते हैं? (8)

कई परिस्थितियों में, यदि आप उन्हें छोड़ देते हैं तो जावास्क्रिप्ट पार्सर्स आपके लिए अर्धविराम डाल देंगे। मेरा सवाल है, क्या आप उन्हें छोड़ देते हैं?

यदि आप नियमों से अपरिचित हैं, तो मोज़िला साइट पर अर्धविराम सम्मिलन का विवरण है। मुख्य बिंदु यहां दिया गया है:

यदि जावास्क्रिप्ट प्रोग्राम फॉर्म के एन वें टोकन के माध्यम से पहला व्याकरणिक रूप से मान्य होता है लेकिन एन + 1 सेंट टोकन के माध्यम से पहला नहीं होता है और एन वें टोकन और एन + 1 सेंट टोकन के बीच एक लाइन ब्रेक होता है, तो पार्सर n वें और एन + 1 सेंट टोकन के बीच वर्चुअल अर्धविराम टोकन डालने के बाद प्रोग्राम को फिर से पार्स करने का प्रयास करता है।

यह वर्णन अधूरा हो सकता है, क्योंकि यह @ ड्रेस के उदाहरण को समझाता नहीं है। किसी के पास पूर्ण नियमों का एक लिंक है, या देखें कि उदाहरण अर्धविराम क्यों प्राप्त करता है? (मैंने इसे JScript.NET में आजमाया।)

यह stackoverflow सवाल संबंधित है, लेकिन केवल एक विशिष्ट परिदृश्य के बारे में बात करता है।


अर्धविराम की अनुपस्थिति में टूटने वाला एक अस्पष्ट मामला:

// define a function
var fn = function () {
    //...
} // semicolon missing at this line

// then execute some code inside a closure
(function () {
    //...
})();

इसका अर्थ इस प्रकार किया जाएगा:

var fn = function () {
    //...
}(function () {
    //...
})();

हम दूसरे फ़ंक्शन को पहले फ़ंक्शन के लिए तर्क के रूप में पारित करते हैं और फिर फ़ंक्शन के रूप में पहले फ़ंक्शन कॉल के परिणाम को कॉल करने का प्रयास करते हैं। दूसरा फ़ंक्शन रनटाइम पर "... फ़ंक्शन नहीं है" त्रुटि के साथ विफल हो जाएगा।


जावास्क्रिप्ट स्वचालित रूप से आपके कोड की व्याख्या करते समय अर्धविरामों को सम्मिलित करता है, इसलिए यदि आप लाइन के नीचे रिटर्न स्टेटमेंट का मान डालते हैं, तो यह वापस नहीं किया जाएगा:

तुम्हारा कोड:

return
5

जावास्क्रिप्ट व्याख्या:

return;
5;

इस प्रकार, जावास्क्रिप्ट के ऑटो अर्धविराम सम्मिलन के कारण, कुछ भी वापस नहीं किया जाता है


नहीं, जब आवश्यक हो तो केवल अर्धविराम का उपयोग करें।


मुझे लगता है कि यह आखिरी पॉडकास्ट पर चर्चा के समान है। "आप जो स्वीकार करते हैं उसमें उदार रहें" का अर्थ है कि अर्धविरामों को छोड़ने वाले मामलों को ठीक करने के लिए अतिरिक्त कार्य जावास्क्रिप्ट पार्सर में रखा जाना था। अब हमारे पास खराब वाक्यविन्यास के साथ तैरते हुए पृष्ठों का एक बोतलबंद है, जो भविष्य में एक दिन तोड़ सकता है जब कुछ ब्राउज़र इसे स्वीकार करने पर थोड़ा और कड़े होने का फैसला करता है। इस प्रकार का नियम एचटीएमएल और सीएसएस पर भी लागू होना चाहिए। आप टूटी हुई एचटीएमएल और सीएसएस लिख सकते हैं, लेकिन आश्चर्यचकित न हों जब आप अजीब और व्यवहार को डीबग करना मुश्किल करते हैं जब कुछ ब्राउज़र आपके गलत कोड की सही व्याख्या नहीं करते हैं।


मैं कहूंगा कि कुछ बाइट्स बचाने से स्थिरता अधिक महत्वपूर्ण है । मैं हमेशा अर्धविराम शामिल करता हूं।

दूसरी तरफ, मैं यह इंगित करना चाहता हूं कि वहां कई जगहें हैं जहां अर्धविराम वाक्य रचनात्मक रूप से आवश्यक नहीं है, भले ही एक कंप्रेसर सभी उपलब्ध सफेद जगहों को निचोड़ रहा हो। उदाहरण के लिए एक ब्लॉक के अंत में।

if (a) { b() }

हां, आपको जावास्क्रिप्ट में प्रत्येक कथन के बाद अर्धविराम का उपयोग करना चाहिए।



mislav.uniqpath.com/2010/05/semicolons लेख mislav.uniqpath.com/2010/05/semicolons अर्ध कोलन का उपयोग न करने के बारे में कुछ वाकई अच्छे अंक बनाता है। यह सभी प्रश्नों के साथ इस प्रश्न के उत्तर से लाया गया है।






javascript