जावास्क्रिप्ट असीमित नहीं है।
यह सिंक्रनाइज़ रूप से काम करता है, यह एक समय में कोड की एक पंक्ति चलाता है। जब जावास्क्रिप्ट कोड चलाया जाता है, तो पहले वैश्विक निष्पादन संदर्भ बनाया गया है और यदि आप वैश्विक निष्पादन संदर्भ से कोई फ़ंक्शन कॉल करते हैं, तो एक अन्य निष्पादन संदर्भ जावास्क्रिप्ट इंजन द्वारा बनाया गया है और यह निष्पादन स्टैक के शीर्ष पर रखा गया है (वैश्विक निष्पादन संदर्भ पहले से ही ढेर में है) और यदि उस फ़ंक्शन के अंदर से कोई अन्य फ़ंक्शन बुलाया जा रहा है, तो दूसरा निष्पादन संदर्भ बनाया गया है और स्टैक आकार बढ़ता जा रहा है।
तो, जावास्क्रिप्ट इंजन अगर कोई घटना/http अनुरोध आग है, ब्राउज़र उन्हें घटना कतार में डालता है एक समय में और इस प्रोसेस में इस कोड को एक पंक्ति चलता रहे। तो, बिंदु जावास्क्रिप्ट इंजन निष्पादन स्टैक खाली होने तक कतार में घटनाओं को संसाधित नहीं करेगा। और जब इंजन निष्पादन स्टैक के साथ किया जाता है, तो यह समय-समय पर दिखता है कि वर्तमान घटना के लिए कोई ईवेंट हैंडलर कतार में है और इसी तरह उस हैंडलर के लिए निष्पादन संदर्भ बनाता है और कोड को चलाता है। तो, पूरी प्रक्रिया केवल सिंक्रोनस है और एसिंक्रोनोसिस को ब्राउज़र के अन्य हिस्सों (रेंडरिंग इंजन या http इंजन) द्वारा नियंत्रित किया जाता है जबकि जावास्क्रिप्ट इंजन कोड को सिंक्रनाइज़ेशन चलाता रहता है।
तो, आपके मामले में, जो भी संदर्भ समारोह से loadpage लागू किया गया था, इसके निष्पादन संदर्भ बनाया है और और ढेर के शीर्ष पर रखा गया था। फिर, यह टेकिनपुट फ़ंक्शन, इसके निष्पादन को आमंत्रित करता है। संदर्भ बनाया गया है और अन्य फ़ंक्शंस संदर्भ को तब तक नहीं बनाया जाएगा जब तक कि टेकिनपुट संदर्भ निष्पादन स्टैक से बाहर नहीं हो जाता है। तो, सही क्रम लेनपुट, प्रोसेसिनपुट और आउटपुट इनपुट होगा।
मुझे आशा है कि यह आपके प्रश्न का उत्तर देगा।
स्रोत
2015-10-20 19:43:42
केवल 3? क्या, ठीक है, अन्य सभी के बारे में क्या? – Pointy
कौन सा अन्य? कोई अन्य नहीं हैं। एक ऑनक्लिक या ऑनरस्टेस्टेन्चेंज (उदाहरण के लिए) असाइन करना केवल 'addEventListener' का एक बेस्टर्डिज़ेशन है। – Halcyon
एक्सएचआर के बारे में क्या? Node.js में उपलब्ध सभी एपीआई के बारे में क्या? – Pointy