कोई आधिकारिक जावास्क्रिप्ट संदर्भ क्यों नहीं है? [बन्द है]


90

मैंने एक जावास्क्रिप्ट संदर्भ की खोज करने की कोशिश की, लेकिन कोई भी उपलब्ध नहीं है। सबसे अच्छे दो सुझाए गए स्रोत MDN (मोज़िला डेवलपर नेटवर्क) और W3Schools हैं।

क्यों?


54
W3schools से बचें; इसकी JS सामग्री बेहद खराब है, IMHO है।
NickFitz 10

1
खेद है कि मेरा मतलब एमडीसी था; developer.mozilla.org/en/About_JavaScript
huy

9
यह एक यादृच्छिक टिप्पणी की तरह है, लेकिन व्यक्तिगत रूप से मुझे लगता है कि सभी ब्राउज़रों को सभी जावास्क्रिप्ट / जावास्क्रिप्ट बैस्टर्डिज़ को स्क्रैप करना चाहिए और मूल रूप से jQuery को लागू करना चाहिए। :)
असंतुष्टगीत

14
डोम पर jQuery के वॉलपेपर, लेकिन वास्तव में जावास्क्रिप्ट की जगह नहीं है।
रोब

2
@ एहि MDN, MDC या MDE
maan81

जवाबों:


63

यह ऐसा नहीं है कि आधिकारिक जावास्क्रिप्ट रिलीज़ हो। सभी ब्राउज़रों ने अपना स्वयं का जावास्क्रिप्ट इंजन बनाया है - कुछ वैसे ही उपयोग कर रहे हैं। लेकिन विशेष रूप से इंटरनेट एक्सप्लोरर का अपना संस्करण है जो अन्य ब्राउज़रों का बहुत समर्थन नहीं करता है, जिससे सामान्य जावास्क्रिप्ट संदर्भ बनाने में बहुत मुश्किल होती है।

संपादित करें:
जबकि मुझे पता है कि एक आधिकारिक ईसीएमए मानक और विकास टीम है, मेरी बात यह है कि यह वास्तव में तब तक मायने नहीं रखता है जब तक कि ब्राउज़र (इंटरनेट एक्सप्लोरर) इसके लिए जीवित नहीं है। दिन के अंत में, क्लाइंट चाहते हैं कि जावास्क्रिप्ट इंटरनेट एक्सप्लोरर के लिए भी काम करे। वे ईसीएमए मानकों की परवाह नहीं करेंगे, वे बस इसे काम करना चाहते हैं। यह वह जगह है जहाँ जावास्क्रिप्ट पुस्तकालय चित्र में आते हैं, लेकिन यह एक और कहानी है।

यह HTML और CSS के साथ समान समस्याएं हैं, हम सक्रिय विकास के लिए इन उपकरणों का उपयोग तब तक नहीं कर सकते हैं:

  • सभी ब्राउज़र उनका समर्थन करते हैं।
  • हम उन्हें समर्थन करने के लिए कोड के साथ ब्राउज़रों की आपूर्ति करते हैं।
  • यह ठीक है कि यह सभी ब्राउज़रों में काम नहीं करता है।

Edit2:
इंटरनेट एक्सप्लोरर Microsoft से नए ब्राउज़र प्रोजेक्ट के साथ कब्र के करीब हो रहा है: एज। हालांकि, यह वास्तव में समग्र तस्वीर को नहीं बदलता है। हमारे पास अभी भी बहुत कुछ है अगर विभिन्न ब्राउज़रों को हमें समर्थन देने की आवश्यकता है। डेवलपर्स लगातार संभव की सीमाओं को आगे बढ़ाने की कोशिश कर रहे हैं। इसका मतलब है कि हमारे पास अक्सर यह समस्या होती है, कुछ ब्राउज़र संस्करण जो हम समर्थन करना चाहते हैं, वह मानक की कुछ विशेषता का समर्थन नहीं करता है (जो आमतौर पर थोड़ा तरल होता है), जिसका अर्थ है कि हमें कुछ वर्कअराउंड बनाने या उन रूपरेखाओं का उपयोग करने की आवश्यकता है जो लापता निर्मित को लागू करते हैं। सुविधाओं में।


मैं देख रहा हूं, इसलिए ECMA-262 मानक के अनुसार विभिन्न ब्राउज़रों का अपना कार्यान्वयन है जो माइकल ने ऊपर उल्लेख किया है?
huy

3
@ एहि: हाँ - दु: ख के साथ / उस मानक की अलग-अलग व्याख्याओं के समर्थन के अलग-अलग स्तरों के साथ ...
एन्द्रेज डॉयल

1
-1, वहाँ है एक अधिकारी जावास्क्रिप्ट मानक: यह एकमा स्क्रिप्ट कहा जाता है और वहाँ इसके पीछे एक अधिकारी शरीर है: en.wikipedia.org/wiki/Ecma_International
Hasen

मुझे यकीन नहीं है कि आपने ईसीएमए "मानक" को किसी भी अन्य ब्राउज़र के रूप में समर्थन करने पर किसी भी खराब होने के रूप में इंटरनेट एक्सप्लोरर को बाहर कर दिया।

5
@ ראובן: क्योंकि यह है / था। लंबे समय तक IE में न केवल कई गंभीर कीड़े थे जो अन्य ब्राउज़रों ने नहीं किए थे, बल्कि यह महत्वपूर्ण विशेषताओं को भी याद नहीं कर रहा था जो अन्य ब्राउज़र में थे। IE8 और 9 ने बहुत कुछ पकड़ा है, हालांकि, इसलिए स्थिति बदल रही है। लेकिन कई सालों के लिए IE भयानक था, जबकि अन्य ब्राउज़रों को अच्छा ECMAScript समर्थन था। इसके अलावा, ECMAScript है एक मानक। मुझे यकीन नहीं है कि आपने इसे उद्धरण चिह्नों में क्यों रखा है।
17

28

आप आधिकारिक ECMAscript साइट के साथ प्रयास कर सकते हैं,

http://www.ecmascript.org/

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

मुझे डैनी गुडमैन की जावास्क्रिप्ट बाइबल से यह धोखा बहुत पसंद है:

http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf


वह धोखा देने वाली चादर मर चुकी है। क्या मैं caniuse.com का सुझाव दे सकता हूं?
ग्रिन

धन्यवाद, मैं नए लिंक से जुड़ा और थोड़ा समझाया कि यह क्या था। सर उठाने के लिए धन्यवाद!
विक्टर

अच्छा, मैं इसकी जाँच करूँगा।
ग्रिन जूल 15'13

22

मैं कहूंगा कि यह एक "आधिकारिक" है: https://developer.mozilla.org/en/JavaScript

आपके पास ECMAScript भाषा विनिर्देश, 5.1 संस्करण (या PDF के रूप में , निश्चित विनिर्देश) भी है

और Microsoft से: JavaScript भाषा संदर्भ : "यह दस्तावेज़ Microsoft के जावास्क्रिप्ट के कार्यान्वयन की व्याख्या करता है , जो ECMAScript 5 वें संस्करण की भाषा विनिर्देश के अनुरूप है । यह अतिरिक्त सुविधाएँ भी प्रदान करता है जो एक्मा मानकों में शामिल नहीं हैं।"


8
IE में जावास्क्रिप्ट इंजन नहीं है - यह JScript को लागू करता है (जो कि काफी हद तक संगत है)। msdn.microsoft.com/en-us/library/yek4tbz0%28VS.85%29.aspx उसके लिए आधिकारिक संदर्भ जैसा दिखता है।
क्वेंटिन

3
हम्म ... developer.mozilla बहुत उपयोगी है, लेकिन मैं इसे "आधिकारिक" नहीं कहूंगा। ECMAScript भाषा की विशिष्टता "आधिकारिक" के करीब है।
स्टीव हैरिसन

4
ECMAScript भाषा विनिर्देश ECMAScript का आधिकारिक संदर्भ है। जावास्क्रिप्ट ECMAScript का एक सुपरसेट है, जिसे नेटस्केप द्वारा बनाया गया था, और मोज़िला को नेटस्केप से एमडीसी विरासत में मिली (हालांकि तब से नाम बदल गया है)
क्वेंटिन

ECMAScript मानक के लिए +1।
जेसन एस

@ क्वेंटिन - दिलचस्प है कि आपके द्वारा संदर्भित MSDN लिंक का शीर्षक अब "जावास्क्रिप्ट संदर्भ" है । हालाँकि, MSDN आलेख "JScript (ECMAScript3)" बताता है: "JScript ECMA 262 भाषा विनिर्देश (ECMAScript संस्करण 3) का Microsoft कार्यान्वयन है। केवल कुछ मामूली अपवादों (पश्चगामी संगतता बनाए रखने के लिए) के साथ, JScript पूर्ण कार्यान्वयन है। ECMA मानक। "
डेविड आरआर

8

यदि आप वेब के लिए ECMAScript का उपयोग कर रहे हैं (जो ९९.९% लोग हैं), तो भाषा की मूल बातें वाक्यविन्यास से परे (ऊपर वर्णित ECMA-२६२ कल्पना में कवर), जो आप शायद देख रहे हैं वह एक DOM संदर्भ है - जो ECMAScript एपीआई है जिसका उपयोग वेब दस्तावेजों के साथ बातचीत करने के लिए किया जाता है।

मुझे बहुत आश्चर्य हुआ कि किसी ने डोम एपीआई सोफ़र का उल्लेख नहीं किया है। वर्तमान W3C DOM मानक यहाँ है: http://www.w3.org/TR/DOM-Level-2-Core/

(btw, नामकरण भ्रम के लिए - ECMAScript आधिकारिक मानक का नाम है, और "जावास्क्रिप्ट" और "JScript" नेटस्केप और माइक्रोसॉफ्ट के स्वामित्व वाले "कांटे" हैं)


3

एक आधिकारिक संदर्भ है, यह बहुत सुविधाजनक प्रारूप में नहीं है। यह ECMA-262 विनिर्देश है। यह HTML पृष्ठों के खोज योग्य सेट के बजाय एक एकल, बहुत बड़ा PDF दस्तावेज़ है।


3

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


3

जब तक कार्यान्वयन (सभी ब्राउज़रों में) हैं तब तक "आधिकारिक" संदर्भ होना बहुत मुश्किल है और एक विनिर्देशन (ECMAScript) है लेकिन विनिर्देशों के खिलाफ कार्यान्वयन का कोई अनुरूपता परीक्षण नहीं है।

अब हालांकि, हमारे पास http://es5conform.codeplex.com/ पर EMCAScript 5 अनुरूपता सूट है - और कुछ आम सहमति है कि ECMAScript कार्यान्वयन एक साथ करीब आएंगे, जिससे ECMAScript को भाषा के लिए आधिकारिक संदर्भ होने की अधिक संभावना है।


2

मुझे पुराने स्कूल नेटस्केप 4 जावास्क्रिप्ट डॉक्स मिले हैं इस उद्देश्य के लिए बहुत उपयोगी लगे। हालाँकि वे स्पष्ट रूप से पूरी तरह से पुराने हैं, और उनमें कुछ लेयर जैसे कि लैयर्स लंबे समय से चले गए हैं, भाषा की मूल बातें के लिए वे वास्तव में ठोस हैं।

ऐसा इसलिए है क्योंकि IE वर्चस्व और ECMA मानकीकरण के दिनों से पहले, नेटस्केप का जावास्क्रिप्ट था निश्चित जावास्क्रिप्ट। अन्य ब्राउज़रों को वास्तव में उन पुराने डॉक्स में दिखाई देने वाली चीजों को लागू करना पड़ा।

उन्हें ECMA-262 दस्तावेज़ की तुलना में पढ़ना बहुत आसान है, यहां तक ​​कि मानकों के मानकों द्वारा भी एक पूर्ण हॉरर है।


1

विकिपीडिया का उद्धरण:

नेटस्केप में शुरुआत

नवंबर 1996 में, नेटस्केप ने एक्मा इंटरनेशनल को जावास्क्रिप्ट प्रस्तुत किया ...

जावास्क्रिप्ट को आधिकारिक तौर पर मोज़िला फाउंडेशन द्वारा प्रबंधित किया जाता है ...

इसलिए, मेरी राय में, ECMA मानक है और मोज़िला आधिकारिक है।


0

"आधिकारिक" द्वारा, मुझे लगता है कि आपका मतलब "जावास्क्रिप्ट के लिए जिम्मेदार लोगों द्वारा लिखित" है।

बस यहां वास्तव में अटकलें लगाई जा रही हैं, लेकिन जावास्क्रिप्ट के लिए जिम्मेदार लोग (ईसीएमए) सीधे इसमें से कोई पैसा नहीं कमाते हैं, और शायद संदर्भ दस्तावेज लिखने में कोई विशेष कौशल नहीं है। इसलिए उनके पास न तो प्रोत्साहन है और न ही एक अच्छा संदर्भ लिखने की क्षमता है।

व्यक्तिगत रूप से, मुझे जावास्क्रिप्ट पसंद है : ओ'रेली से निश्चित गाइड । नवंबर में छठा संस्करण आ रहा है।


2
हाँ वे हैं। सूरज जावास्क्रिप्ट के लिए ट्रेडमार्क का मालिक है, लेकिन इसे नेटस्केप के लिए लाइसेंस दिया है। ओरेकल ने सन खरीदा, इसलिए अब ओरेकल ट्रेडमार्क का मालिक है (वे अभी भी इसे मोज़िला के लिए लाइसेंस देते हैं)। HTML और CSS को W3C द्वारा परिभाषित किया गया है, इसलिए यह एक अलग मामला है। फ़ायरफ़ॉक्स में जेएस इंजन में कई स्वामित्व (और भयानक) विशेषताएं हैं जो किसी अन्य ब्राउज़र में नहीं पाई जाती हैं। जावास्क्रिप्ट के निर्माता (ब्रेंडन ईच) आधिकारिक ECMAScript समिति पर हैं, और मोज़िला के लिए भी काम करते हैं।
16

1
इसके अलावा, इस लिंक पर ध्यान दें: en.wikipedia.org/wiki/ECMAScript#Dialects फ़ायरफ़ॉक्स को "जावास्क्रिप्ट 1.8.5" के रूप में जाना जाता है, जिसमें पहले से ही उल्लेखित कई उन्नत विशेषताएं हैं जो ऑब्जेक्ट / सरणी विनाशकारी / समझ जैसे अन्य ब्राउज़रों में नहीं मिली हैं। , जनरेटर / पुनरावृत्तियाँ, ब्लॉक / स्टेटमेंट, इत्यादि भी उस लिंक में 2 के फ़ुटनोट पर ध्यान दें, जो कहता है "मोज़िला जावास्क्रिप्ट के आधिकारिक संस्करण का प्रबंधन करता है। जावास्क्रिप्ट" अनुपालन "का दावा करने वाले अधिकांश गैर-मोज़िला कार्यान्वयन वास्तव में अधिकांश जावास्क्रिप्ट एक्सटेंशन का समर्थन नहीं करते हैं; बल्कि, वे ECMA-262, संस्करण 3 को लक्षित करते हैं। "
पौआन

1
मैं ध्यान दूंगा कि ECMAScript जावास्क्रिप्ट से अलग है। ECMAScript एक्मा द्वारा परिभाषित एक मानक है। ब्राउज़र आमतौर पर ECMAScript मानक का समर्थन करने के बारे में बहुत अच्छे हैं, और जब अधिकांश लोग "जावास्क्रिप्ट" कहते हैं कि उनका वास्तव में क्या मतलब है ECMAScript है। यह दुर्भाग्यपूर्ण है कि स्थिति और शब्दावली इतनी भ्रामक है, लेकिन यह है। इसलिए, अधिकांश भाग के लिए, जावास्क्रिप्ट की अनौपचारिक परिभाषा "ब्राउज़र जो भी करते हैं" है, लेकिन आधिकारिक तौर पर, मोज़िला वास्तव में इसके लिए जिम्मेदार है।
पौआन

1
इसका मतलब यह है कि कोई भी प्रश्न जो "आधिकारिक जावास्क्रिप्ट संदर्भ" के लिए पूछता है, वह सटीक उत्तर देने के लिए बहुत अस्पष्ट है। आपके पास आधिकारिक ECMAScript मानक, ब्राउज़रों में जावास्क्रिप्ट का वास्तविक कार्यान्वयन, MDC (जो फ़ायरफ़ॉक्स में आधिकारिक जावास्क्रिप्ट कार्यान्वयन शामिल है), और फिर निश्चित रूप से w3schools जैसे बहुत लोकप्रिय अनौपचारिक प्रलेखन। सभी उपयोगी हैं, इसलिए वास्तव में कोई "एकल सही" संदर्भ नहीं है, जैसे कि, पायथन कहते हैं।
17

2
(शायद मुझे यह टिप्पणी के एक श्रृंखला के बजाय एक वास्तविक उत्तर के रूप में पोस्ट करना चाहिए था ... ओह अच्छी तरह से)
पाओन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.