2011-08-10 9 views
44

यदि यह एक स्क्रिप्टिंग भाषा है क्योंकि नाम का तात्पर्य है तो इसे निम्न स्तर की भाषा में लिखा जाना चाहिए? सी में PHP कैसे लिखा गया है जैसे जावास्क्रिप्ट में कौन सी भाषा लिखी गई है?जावास्क्रिप्ट में कौन सी भाषा लिखी गई है?

+8

"इसे निचली भाषा में लिखा जाना चाहिए", जरूरी नहीं, उदाहरण के लिए, [नारसीसस] (https://github.com/mozilla/narcissus/) शुद्ध जावास्क्रिप्ट में लिखा गया जावास्क्रिप्ट दुभाषिया है (यह एक [ मेटा-सर्कुलर मूल्यांकनकर्ता] (http://en.wikipedia.org/wiki/Meta-circular_evaluator)) :) – CMS

+0

मुझे लगता है कि विभिन्न भाषाओं के सभी प्रकारों में लिखे गए कई अलग-अलग जावास्क्रिप्ट इंजन हैं। वास्तव में – Galik

उत्तर

72

जावास्क्रिप्ट सिर्फ एक मानक है, औपचारिक रूप से ECMAScript के रूप में जाना जाता है। इसे किसी भी मानक में लागू किया जा सकता है, बस किसी भी मानक की तरह।

क्रोम का जावास्क्रिप्ट इंजन, V8, सी ++ में लिखा गया है।

परियोजना पृष्ठ से

:

वी 8 सी में लिखा है ++ और गूगल क्रोम, गूगल से खुला स्रोत ब्राउज़र में प्रयोग किया जाता है। Windows (XP या नया), मैक ओएस एक्स (10.5 या नया), और लिनक्स सिस्टम का उपयोग करने वाले पर ECMA-262, 5 वीं संस्करण, और रन के रूप में विनिर्दिष्ट

वी 8 ECMAScript लागू करता IA-32, 64, या एआरएम प्रोसेसर।

फ़ायरफ़ॉक्स के जावास्क्रिप्ट इंजन, SpiderMonkey (और अब TraceMonkey) सी ++ में भी लिखा गया है। और जैसा कि नीचे कहा गया है, Rhino जावा में लिखा गया है।

+6

।हालांकि मैं दांव दूंगा कि उनमें से अधिकतर सी ++ में लागू किए गए हैं (http://en.wikipedia.org/wiki/List_of_ECMAScript_engines) (या सी और इसके डेरिवेटिव)। राइनो स्पष्ट रूप से जावा है। – maerics

3

जो भी भाषा ग्राहक webbrowsers जावास्क्रिप्ट दुभाषिया में :) लिखा गया था

4

जावास्क्रिप्ट ECMAScript मानक के एक कार्यान्वयन है, लेकिन कोई विलक्षण विहित दुभाषिया जैसे PHP के साथ देखते हैं।

अधिकांश प्रमुख कार्यान्वयन (स्टैंडअलोन या वेब ब्राउज़र के हिस्सों के रूप में) प्रदर्शन कारणों से सी या सी ++ में बड़े पैमाने पर लिखा जाता है, लेकिन यह हमेशा आवश्यक नहीं है। मोज़िला द्वारा बनाए गए एक इंजन राइनो जावा में लिखा गया है।

+4

वहाँ * PHP के कई कार्यान्वयन हो सकता है, लेकिन ... कोई भी दिलचस्पी नहीं लेता है। –

+0

@ इग्नासिओ चौंकाने वाला, है ना? ;) – dfreeman

+3

@ IgnacioVazquez-Abrams - फेसबुक को दिलचस्पी है ... –

8

अधिकांश जावास्क्रिप्ट दुभाषिया सी/सी ++ (वी 8, नाइट्रो, आदि ...) में लिखे गए हैं, हालांकि किसी भी भाषा में एक अनुपालन दुभाषिया लिखा जा सकता है (राइनो → जावा, Interpreter → जावास्क्रिप्ट, आदि ...)।

16

अब तक सभी उत्तरों सही हैं, लेकिन चूंकि इसका अभी तक उल्लेख नहीं किया गया है, JavaScript can be written in JavaScript

+1

एटवुड लॉ अपने बेहतरीन पर! –

2

जावास्क्रिप्ट शो व्यवहार के अधिकांश कार्यान्वयनों कि स्पष्ट रूप से संकेत के उपयोग के द्वारा और पैरामीटर गुजर, जो आम तौर पर सी का उपयोग करते हैं, या की ओर इशारा ByRef के कारण होता है सी ++

इस उदाहरण ही आप दूर ले जा रहे हैं के लिए स्पष्ट रूप से उल्लेखनीय है इंटरमीडिएट सरणी की मदद से लूप में एक बहुआयामी सरणी। ये बहुत ही अजीब तरीके से व्यवहार करते हैं, यदि आप पॉइंटर्स से परिचित नहीं हैं और पैरामीटर से गुजरने वाले हैं (आपको हर बार var hlp = new Array() की आवश्यकता है या यह पिछले मानों को ओवरराइट करेगा जो आपने पहले से कहीं और संग्रहीत किया है)

मैं जावा के उदाहरण में जावास्क्रिप्ट के कार्यान्वयन के बारे में उत्सुक हूं, क्योंकि मुझे लगता है कि इस तरह का व्यवहार उस मामले में काफी अलग होगा?

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