2010-04-26 17 views
39

विकिपीडिया के अनुसार, आईई 8 केवल जावास्क्रिप्ट 1.5 का समर्थन करता है। तो वे कह रहे हैं कि IE8 जावास्क्रिप्ट संस्करण 1.6, 1.7, 1.8 और 1.9 को पूरी तरह से अनदेखा करता है।आईई 8 किस जावास्क्रिप्ट संस्करण का समर्थन करता है?

क्या मुझे भरोसा करना चाहिए? क्या यह सच है?

+13

आपको विकिपीडिया आलेख को अपडेट करना चाहिए जो आपने यहां सीखा है। –

उत्तर

43

ठीक है, वास्तव में आईई कार्यान्वयन JScript कहा जाता है, जावास्क्रिप्ट (टीएम) मोज़िला का कार्यान्वयन है।

JScript और जावास्क्रिप्ट दो ECMAScript आधारित बोलियों हैं। ECMAScript 3rd Edition Standard साथ

जावास्क्रिप्ट 1.5 अनुरूप, बाद के संस्करणों, जे एस 1.6, 1.7 और 1.8 कि कि मानक संस्करण, अक्सर मोज़िला एक्सटेंशन कहा जाता है से बाहर हैं भाषा विशेषताएं शामिल किए।

क्यों JScript इन सुविधाओं में से कोई भी नहीं है यही कारण है, क्योंकि वे ECMA मानक का हिस्सा नहीं हैं।

+13

ईसीएमएस्क्रिप्ट 5 दिसंबर 200 9 (इस उत्तर से कई महीने पहले) प्रकाशित हुआ था, जिसमें इन नई सुविधाओं में से कई मानक शामिल हैं। –

+4

क्या आईई 8 ईसीएमएस्क्रिप्ट 5 का समर्थन करता है? – noname

+3

@ बेनेल्सन व्यापक रूप से बोलते हुए, नहीं। स्रोत: http://kangax.github.io/compat-table/es5/#ie8 – Potherca

3

हां, यह सच है (कम से कम जहां तक ​​भाषा सुविधाएं समर्थित हैं)। आप आसानी से इस जाँच कुछ जावास्क्रिप्ट 1.6 कोड का उपयोग कर सकते हैं:

alert([1,2,3].indexOf(2)); 

आईई 8 एक त्रुटि फेंकता है।

ध्यान दें कि IE 8 जावास्क्रिप्ट के बाद के संस्करणों में जोड़े गए कुछ विशेषताओं का समर्थन कर सकता है। आईई में मानकों के बाहर बहुत सी चीजें हैं, इसलिए ऐसा लगता है कि इनमें से कुछ बाद के जोड़ों के समान ही होते हैं।

18

यह परीक्षण here से लिया गया यह परीक्षण मेरे इंटरनेट एक्सप्लोरर 8 64-बिट में 1.3 देता है।

<SCRIPT Language="JavaScript1.3"> 
jsver = "1.3"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.4"> 
jsver = "1.4"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.5"> 
jsver = "1.5"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.6"> 
jsver = "1.6"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.7"> 
jsver = "1.7"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.8"> 
jsver = "1.8"; 
</SCRIPT> 

<BODY> 

<SCRIPT LANGUAGE="JavaScript"> 
document.write("<B>Your browser supports JavaScript version " + jsver + ".</B>") 
</SCRIPT> 

</body> 
</html> 
+3

कि दिलचस्प है ... – MatteoSp

+5

http://jsfiddle.net/jPZj9/ –

+2

यह परीक्षण भी Internet Explorer 11 पर 1.3 रिटर्न ... – Shaffe

15

आईई जावास्क्रिप्ट का समर्थन नहीं करता है। "जावास्क्रिप्ट" विशेष रूप से मोज़िला के ईसीएमएस्क्रिप्ट मानक के कार्यान्वयन को संदर्भित करता है। यह मानक मूल रूप से भाषा पर नेटस्केप/मोज़िला के काम से लिया गया था, लेकिन तब से वे अलग हो गए हैं। आईसीएमएस्क्रिप्ट के आईई के कार्यान्वयन को "जेस्क्रिप्ट" कहा जाता है, और यह मोज़िला के कई एक्सटेंशन का समर्थन नहीं करता है।

ECMAScript IE के संस्करण के लिए करना है तीसरा संस्करण मानक है, जो भी संस्करण जावास्क्रिप्ट 1.5 करने के उद्देश्य से किया गया था, यही कारण है कि वे इसी तरह के विचार कर रहे हैं जो है। ओपेरा, सफारी और क्रोम के जावास्क्रिप्ट इंजन सभी इस संस्करण को लक्षित करते हैं; जबकि सभी कार्यान्वयन में बग हैं जिसका मतलब है कि वे बिल्कुल सटीक रूप से नहीं मिलते हैं, सामान्य ईसीएमएस्क्रिप्ट तीसरे संस्करण में आज जो काम करता है उसके लिए एक ठोस आधारभूत रेखा है।

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

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