यदि हां, तो इस तरह की घोषणा के लिए वाक्यविन्यास क्या है?जावास्क्रिप्ट में वैश्विक स्थिरांक घोषित किया जा सकता है?
उत्तर
जावास्क्रिप्ट में वास्तव में नामित निरंतर, या किसी ऑब्जेक्ट की अपरिवर्तनीय संपत्ति की धारणा नहीं है। (ध्यान दें कि मैं ES5 के बारे में यहाँ बात नहीं कर रहा हूँ।)
आप वैश्विक एक सरल var
घोषणा के साथ वैश्विक क्षेत्र में, एक स्क्रिप्ट एक वेब पेज से शामिल किसी भी समारोह के बाहर की तरह घोषणा कर सकते हैं:
<script>
var EXACTLY_ONE = 1;
फिर आपका कोड उस निरंतर पाठ्यक्रम का उपयोग कर सकता है, हालांकि यह वास्तव में "स्थिर" नहीं है क्योंकि मान बदला जा सकता है (संपत्ति को अन्य शब्दों में अपडेट किया गया है)।
अद्यतन - ईएस 6 सद्भाव में अधिकांश आधुनिक ब्राउज़रों और मानक में उपलब्ध कॉन्स कीवर्ड: https://developer.mozilla.org/एन-यूएस/डॉक्स/वेब/जावास्क्रिप्ट/संदर्भ/विवरण/कॉन्स – netpoetica
दस्तावेज़ पढ़ें! कॉन्स दायरे तक सीमित है, इसलिए कुछ ऐसा है: 'अगर (DEBUG) {const HOST = "locahost";} else {const HOST = "coolhost";}' वैश्विक स्तर पर 'HOST' का खुलासा नहीं करेगा। –
सब कुछ वैश्विक है जब तक var
कीवर्ड के साथ घोषित नहीं किया जाता है।
कोई भी स्थिरांक नहीं हैं। आप उन्हें var
कीवर्ड के बिना बस घोषित कर सकते हैं।
आप वैश्विक गुंजाइश सुनिश्चित करना चाहते हैं तो आप इसे window
वस्तु में फेंक कर सकते हैं:
window.GLOBAL_CONSTANT = "value";
आप किसी भी दायरे के भीतर से ऐसा कर सकते हैं। तब कॉन्स्टेंट को फ़ंक्शंस या क्लोजर के अंदर घोषित किया जा सकता है, हालांकि मैं इसकी अनुशंसा नहीं करता।
"पॉइंटी" इतनी सावधानीपूर्वक नोट्स के रूप में, ईसीएमएस्क्रिप्ट में ऐसी कोई सुविधा नहीं है। हालांकि, JavaScript does:
const a = 7;
document.writeln("a is " + a + ".");
बेशक
, आप वेब ब्राउज़र में चलाने के लिए वेब पर डाल करने के लिए कोड लिख रहे हैं, तो यह आप अधिक सहायता नहीं हो सकता है। :-)
पृथ्वी पर क्यों गिरा दिया गया है? यदि आप मोज़िला-केवल पर्यावरण में काम कर रहे हैं तो यह सच है, ज्ञात और उपयोगी नहीं है। मुझसे +1 –
@ टिम, किसी ऐसे व्यक्ति द्वारा डाउन-वोट किया गया था जो ईसीएमएस्क्रिप्ट और जावास्क्रिप्ट (टीएम) ..., +1 से भी अंतर नहीं जानता ... बीटीडब्ल्यू एक बात ध्यान में रखना, यह है कि टीसी 3 9 समिति के पास है एक सेट [कार्यान्वयनकर्ताओं के लिए सिफारिशें] (http://j.mp/agMtti) को मंजूरी दे दी है, जिसमें गैर-मानक घोषणाओं पर प्रतिबंध शामिल हैं- 'const'- सख्त मोड कोड पर। फिलहाल फ़ायरफ़ॉक्स 4 में सख्त मोड के तहत गैर-मानक घोषणाओं के बारे में कोई प्रतिबंध नहीं है, लेकिन वेबकिट के जावास्क्रिप्टकोर में उन्हें आईएमओ- वास्तव में अच्छी बात है- आप 'कॉन्स' का उपयोग नहीं कर सकते हैं या 'ब्लॉक्स' के अंदर 'फंक्शन डिसक्लेरेशन' नहीं कर सकते हैं ... बस ध्यान में रखना .. – CMS
@ सीएमएस: दिलचस्प, मैंने उसमें ध्यान नहीं दिया था। धन्यवाद। –
यदि आप यह सुनिश्चित करना चाहते हैं कि मान किसी फ़ंक्शन का उपयोग नहीं कर सकता है।
तो, बजाय:
var Const_X=12
उपयोग:
function Const_X() {
return 12;
}
पुराना उत्तर, लेकिन मुझे पूरा यकीन है कि आप कार्यों को ओवरराइड कर सकते हैं। – Midnightas
आप केवल नए ब्राउज़र का समर्थन (या ऐसे कोलाहल के रूप में एक transpiler उपयोग कर रहे हैं पुराने ब्राउज़र का समर्थन करने के लिए) के बारे में परवाह है, तो आप कर सकते हैं निम्नलिखित:
- एक सेटिंग्स बनाएं।जे एस और जो कुछ स्थिरांक आप चाहते हैं के साथ फ़ाइल निर्यात उन्हें:
export const FRUIT = "kiwi"; export const VEGETABLE = "carrot";
- है कि आप उन्हें उपयोग करने के लिए आप तो उन्हें आयात कर सकता है इस प्रकार चाहते फाइलों में:
import * as Settings from './settings.js'
- n उपयोग करने के लिए स्थिरांक कुछ इस तरह करते हैं:
console.log("The unchangeable fruit is " + Settings.FRUIT);
यह आपको एकाधिक JavaScript फ़ाइलों है कि आप उपयोग करना चाहते हैं, खासकर जब एक वैश्विक लगातार लागू करने के लिए कोशिश कर रहा है की तुलना में काफी क्लीनर दृष्टिकोण है
- 1. कैसे घोषित करने और NSString वैश्विक स्थिरांक
- 2. एफ # में वैश्विक स्थिरांक -
- 3. क्यों नलिकाओं को घोषित घोषित नहीं किया जा सकता है?
- 4. जावास्क्रिप्ट में वैश्विक चर घोषित कैसे करें?
- 5. गतिशील रूप से लोड किया जा सकता है जावास्क्रिप्ट अनलोड किया जा सकता है?
- 6. घातक त्रुटि: एमएसएस() में पहले से घोषित नहीं किया जा सकता है (पहले घोषित किया गया था *
- 7. मैं वेब पेज में वैश्विक जावास्क्रिप्ट चर कहां घोषित करूं?
- 8. Cpython में क्या किया जा सकता है जो IronPython में नहीं किया जा सकता है?
- 9. क्या Google मानचित्र API जावास्क्रिप्ट कैश किया जा सकता है?
- 10. मैं एलएलवीएम में वैश्विक चर कैसे घोषित कर सकता हूं?
- 11. क्या घोषणा में एक संघ शुरू किया जा सकता है?
- 12. एक वस्तु एक बयान का उपयोग करके उपरोक्त बजाय कोष्ठक में घोषित किया जा सकता है
- 13. क्यों structs को कॉन्स के रूप में घोषित नहीं किया जा सकता है?
- 14. घटनाओं को स्टेटिक के रूप में घोषित किया जा सकता है, यदि हां कैसे और क्यों
- 15. इंटरफ़ेस केवल शीर्ष-स्तरीय कक्षा में क्यों घोषित किया जा सकता है?
- 16. वैश्विक मेरी जावास्क्रिप्ट में
- 17. जावास्क्रिप्ट में स्थिरांक की फ़ाइल कैसे बनाएं?
- 18. जावास्क्रिप्ट चर वैश्विक
- 19. DLLImport Int ** - यह कैसे किया जा सकता है अगर यह किया जा सकता है
- 20. जावास्क्रिप्ट स्थानीय चर घोषित
- 21. ऑपरेटर && लागू नहीं किया जा सकता है
- 22. तत्काल क्या किया जा सकता है?
- 23. मैं एक म्यूटेबल ऑब्जेक्ट का संदर्भ क्यों नहीं घोषित कर सकता हूं? ("संदर्भ परिवर्तनशील घोषित नहीं किया जा सकता")
- 24. डीएलएल में घोषित वैश्विक चर के साथ क्या होता है?
- 25. जावा क्लास को स्थैतिक घोषित क्यों नहीं किया जा सकता है?
- 26. कॉन्स संदर्भ एक int असाइन किया जा सकता है?
- 27. , इसे कब मुक्त किया जा सकता है?
- 28. कहां घोषित किया गया है?
- 29. एंड्रॉइड एप्लिकेशन में वैश्विक स्थिरांक कहां स्टोर करें?
- 30. जावास्क्रिप्ट - सभी वैश्विक चर डंपिंग
यदि वैश्विक रूप से आप एक चर का अर्थ है जो डोमेन के पृष्ठों पर परिवर्तन के बाद बुलाया जा सकता है तो आपको कुकीज़ की आवश्यकता है .. – crodjer
@Dcrodger: नहीं, केवल कार्यों के बीच वैश्विक। इसके अलावा, यह स्थिर है, एक चर नहीं - इसलिए कुकीज़ अधिक हो जाएगी। – Giffyguy
यह भी देखें: http://stackoverflow.com/questions/130396/are-there-constants-in-javascript – Ken