दिलचस्प पोस्ट
HTTPPOST, शब्दकोश या से फ़ॉर्म के मान को कैसे प्राप्त करें? क्या एक जावास्क्रिप्ट एसआरसीएमपी () है? पायथन: HTTP स्ट्रीमिंग के साथ एक बड़ी फ़ाइल पोस्ट करें मैं पाठ बॉक्स में कर्सर की स्थिति कैसे प्राप्त करूं? सी# लघुकरण के दौरान डीबग जावास्क्रिप्ट कोड बाहर निकालें मैं पुनरावर्तक कैसे करूँ? मैं मोज़िला फ़ायरफ़ॉक्स 3 पर जावास्क्रिप्ट के साथ एक विंडो कैसे बंद कर सकता / सकती हूं? "सार्वजनिक प्रकार << classname >> अपनी फाइल में परिभाषित किया जाना चाहिए" एलेप्से में त्रुटि अजाक्स अपवाद: अजाक्स प्रक्रिया में स्मृति से बाहर पंक्तियां / संयोजन पंक्तियों को मिलाएं टैब बार पर अधिक मेनू को कस्टमाइज़ करना PyQt: सिस्टम ट्रे अनुप्रयोग में मेनू दिखाएं कैसे जांचें कि क्या स्ट्रिंग में कोई वर्ण अंक या अक्षर है क्या वेब वर्कर में डोम तत्वों का निर्माण करने का कोई तरीका है? ईप्लीपस इंडिगो में मवेन / टॉमकेट प्रोजेक्ट्स / 3.7

जावास्क्रिप्ट में अग्रणी अग्रणी

इसे इस्तेमाल करे:

<script language="javascript"> var iTest=040; alert(iTest); </script> 

जब 40 = 32 के बाद से?

Solutions Collecting From Web of "जावास्क्रिप्ट में अग्रणी अग्रणी"

एक अग्रणी शून्य के साथ, संख्या को अष्टक और 4 * 8 = 32 के रूप में व्याख्या की जाती है

क्योंकि 0 उपसर्ग एक अष्टक संख्या (आधार 8) इंगित करता है।

टी एल; डॉ

यह प्रमुख 0 कारण अष्टक (आधार 8) के रूप में माना जा रहा है, बस एक प्रमुख 0x तरह इसे हेक्स (आधार 16) बना देगा। यह एक लंबा और अत्याचारित इतिहास है और अब आधुनिक जावास्क्रिप्ट में अष्टक संख्याएं कैसे लिखी जाती हैं। आधुनिक जावास्क्रिप्ट में सख्त मोड का उपयोग करते हुए, "लीगेसी" ऑक्टाल प्रारूप एक वाक्यविन्यास त्रुटि है; अष्टक संख्याएं 0o उपसर्ग के साथ लिखी जाती हैं।

इतिहास

प्रारंभिक भाषा में (नेटस्केप की प्रारंभिक भाषा में और पहली और दूसरी ईसीएमएस्क्रिप्ट विनिर्देश), एक प्रमुख संख्यात्मक आधिकारिक तौर पर आंशिक (आधार 8) अर्थात् 0x , एक प्रमुख 0x रूप में हेक्साडेसिमल (आधार 16) का अर्थ है:

 OctalIntegerLiteral :: 0 OctalDigit OctalIntegerLiteral OctalDigit 

उदाहरण, 10 , 012 , और 0xA दशमलव संख्या दस लिखने के सभी तरीके थे। यह कुछ अन्य भाषाओं के साथ जावास्क्रिप्ट (सी, सी ++, जावा, …) के समान वाक्य रचना के साथ रखे हुए है, लेकिन यह बेहद भ्रामक है।

ईसीएमएस्क्रिप्ट 3 के अनुसार, उस आक्टिकल शब्द का रूप वैकल्पिक विस्तार में डाउनग्रेड किया गया था, और डेसीमल इंटीजर लिटरल्स को बदल दिया गया था ताकि वे अग्रणी शून्य नहीं हो सकें (जब तक कार्यान्वयन में विस्तार शामिल न हो):

 DecimalIntegerLiteral :: 0 NonZeroDigit DecimalDigits(opt) 

लेकिन ECMAScript 5 ने सख्त-मोड में ऐसा करने से मना किया:

एक अनुरूप कार्यान्वयन, जब सख्त मोड कोड (10.1.1 देखें) प्रसंस्करण, B.1.1 में वर्णित के रूप में अक्तिकइंटरगर लिटरल को शामिल करने के लिए संख्यात्मक लिटरल की सिंटैक्स का विस्तार नहीं करना चाहिए।

ECMAScript 6 (ECMAScript 2015) BinaryIntegerLiteral और OctalIntegerLiteral प्रस्तुत करता है , इसलिए अब हमारे पास अधिक सुसंगत शाब्दिक हैं:

  • BinaryIntegerLiteral , 0b या 0b साथ उपसर्ग
  • ऑक्टाइलइंटेजर लिटरल , 0 या 0 ओ के साथ प्रीफ़िक्स्ड
  • HexIntegerLiteral , 0x या 0x साथ उपसर्ग।

पुरानी ऑक्टल इंटेगीर लिटरल एक्सटेंशन का नाम लेजीसीऑक्टिलेट इंटेगायर लिटरल रखा गया है, जो अभी भी गैर-सख्त मोड में है।

निष्कर्ष

इसलिए, यदि आप आधार संख्या में किसी संख्या को पार्स करना चाहते हैं, 0o या 0 0O उपसर्गों का उपयोग करें (पुराने ब्राउज़रों द्वारा समर्थित नहीं), या parseInt उपयोग करें

और अगर आप यह सुनिश्चित करना चाहते हैं कि आपके नंबरों को आधार 10 में parseInt , अग्रणी शून्य निकालें, या parseInt उपयोग करें

उदाहरण

  • 010
    • सख्त मोड में (ECMAScript 5 की आवश्यकता होती है), यह एक वाक्यविन्यास त्रुटि है।
    • गैर-कठोर मोड में, यह एक वाक्यविन्यास त्रुटि या वापसी 8 (कार्यान्वयन निर्भर) हो सकता है।
  • 0o10 , 0O10
    • ECMAScript 6 से पहले, वे वाक्यविन्यास त्रुटियां हैं
    • ईसीएमएस्क्रिप्ट 6 में, वे 8 पर वापस आते हैं
  • parseInt('010', 8)
    • यह 8 देता है
  • parseInt('010', 10)
    • यह 10 देता है

यदि आप रुचि रखते हैं, तो आप यहां वर्तमान जीवित विवरण और यहां ऐतिहासिक संस्करण पा सकते हैं ।