कंप्यूटरप्रोग्रामिंग

जावास्क्रिप्ट: समारोह समारोह। प्रोग्रामिंग भाषा जे एस

विचार गतिशील सामग्री बनाने के लिए वेब संसाधन आदर्श बन गए हैं। स्थैतिक पृष्ठों और टेम्पलेट्स वेब डिजाइन अंत में अपने मिशन को पूरा किया।

लेकिन, आधुनिक वेब संसाधन सर्वर द्वारा उत्पन्न पृष्ठों का एक सेट द्वारा प्रस्तुत किया जा करने के लिए है और ब्राउज़र (जे एस + AJAX) ताज़ा नहीं है।

आगंतुक के आने के समय वेब आधारित भंडार रिकार्ड के लिए खिताब की एक जोड़ी, «सिर» में कुछ पाठ, «शरीर» और सभी में कोड की कुछ लाइनें हो सकता है। के बाकी "गर्भ धारण" आगंतुक करने की प्रक्रिया में है - यह एक आदर्श स्थल है, या एक होने की इच्छुक।

विवरण और कार्य की प्रकृति रखें

опыт, наработаный многими десятилетиями. जावास्क्रिप्ट - यह एक ऐसा अनुभव narabotany दशकों है। यह विकास, आधुनिक टीम योग्य रचनाकारों डेवलपर्स की एक महत्वपूर्ण इतिहास रहा है। भाषा सुविचारित, विश्वसनीय, सुंदर और एक वास्तविक अवसर डेवलपर्स एक सभ्य और आत्म सुधार के लिए कोड लिखने के लिए देता है।

एक एल्गोरिथ्म की अवधारणा एक समारोह यहां सिद्धांत रूप में मौजूद नहीं है। बेशक, डेवलपर पृष्ठ पर कहीं भी इसे में डाल करने के लिए स्क्रिप्ट कोड डालने के लिए कर सकते हैं और यह निष्पादित किया जाएगा। страницы? लेकिन कोड है, जो केवल एक बार निष्पादित किया जाता है में बिंदु क्या है: जब लोड हो रहा है (पुन: लोड) पेज? यह संभव क्या कुछ तुच्छ चर के प्रारंभिक मान सेट करने के लिए कर रहा है।

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

यह आवश्यक नहीं है कि समारोह सीधे एक और फ़ंक्शन को कॉल होगा, लेकिन यह गतिशील कोड के गठन के माध्यम से परोक्ष रूप से किया जा सकता है। एक आगंतुक इस कोड के भीतर कोई निर्णय लेता है और काफी अलग प्रणाली कार्यों काम करता है।

कार्यात्मक गतिशीलता

कार्यात्मक गतिशीलता - है न केवल और नहीं पृष्ठ तत्वों को सौंपा इतना संचालकों कार्यों कि पृष्ठ के तत्वों के रूप में, और तत्काल संचालकों की भी बदल सकते हैं।

कार्रवाई पृष्ठ पर उपलब्ध है, तत्व और उस पर आगंतुक व्यवहार पर निर्भर करता है। माउस, कीबोर्ड, बटन, क्लिक, ईवेंट, वस्तुओं और अन्य परिस्थितियों के आंदोलन आवश्यक कार्यों के शुभारंभ के लिए सीसा।

मूल रूप से कोई निरंतरता है और वहाँ कोई समानांतर है। वहाँ वेब संसाधन घटनाओं के लिए एक पर्याप्त प्रतिक्रिया है। कितनी तेजी से जावास्क्रिप्ट एक विशेष कार्य को पूरा करता यह कई तकनीकी (कंप्यूटर, संचार लाइनों) और अर्थ पर निर्भर करता है (तर्क एल्गोरिथ्म, विषय क्षेत्र है, जिसका अर्थ समस्या) कारकों।

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

किसी एक ब्राउज़र की गहराई में वितरित प्रसंस्करण: डिजाइन में इस नई सोच!

चर और कार्यों के लिए वाक्य रचना

जावास्क्रिप्ट चर टैग «स्क्रिप्ट» में रखा, और समारोह के मुख्य भाग में कर रहे हैं। कार्य उसी तरह परिभाषित कर रहे हैं। विशेष अर्थ समारोह के अंदर लिखने के लिए एक और समारोह वहाँ है, लेकिन यह विभिन्न कारणों के लिए आवश्यक हो सकता है, और यह काफी उचित है।

समारोह का विवरण आम तौर पर अपने नाम के बाद, कीवर्ड «समारोह» साथ शुरू होता है, कोष्ठक में तर्क, अल्पविराम के द्वारा अलग की सूची, और ब्रेसिज़ में समारोह शरीर।

इस उदाहरण में, दो कार्यों का वर्णन किया है कि उपलब्ध कराने के पेज और सर्वर के बीच AJAX-विनिमय कर रहे हैं। आंशिक रूप से scXHR ऊपर वर्णित है, क्योंकि दोनों InitXML में उपलब्ध है, और WaitReplySC के भीतर।

समारोह नाम और पैरामीटर "समारोह"

अतुल्यकालिक संस्करण प्रस्तुत किया गया है जावास्क्रिप्ट समारोह समारोह सर्वर प्रतिक्रिया के बाद कहा जाता है। इस प्रकार, सर्वर से प्रतिक्रिया प्राप्त करने, WaitReplySC पेज टैग तक पहुँचता है, प्राप्त जानकारी भरता है और अन्य कार्यों, जो अच्छी तरह से सर्वर के बगल में अनुरोध को आरंभ हो सकता है कारण बनता है।

एक समारोह - यहाँ यह भी है कि WaitReplySC नोट करना महत्वपूर्ण है। scXHR.onreadystatechange = WaitReplySC она передается как параметр. लेकिन लाइन scXHR.onreadystatechange = WaitReplySC में यह एक पैरामीटर के रूप पारित कर दिया है। पैरामीटर के रूप में अन्य कार्यों के लिए यह सामान्य नियम हस्तांतरण समारोह। समारोह तुरंत निष्पादित किया जाएगा - नुकीली कोष्ठक और उन्हें अपने पैरामीटर (रों) दे दी है। नाम द्वारा सुनाई केवल, अच्छी तरह से तो क्या। कॉल समारोह एक है जो उसका नाम मिल गया कर देगा।

AJAX के माध्यम से कार्यान्वित किया कार्यक्षमता, आप सर्वर से प्राप्त डेटा के माध्यम से एक JavaScript फ़ंक्शन कॉल करने के लिए अनुमति देता है। वास्तव में, सर्वर, एक या अन्य सुविधा को बिल्कुल भी नहीं "पता" हो सकता है जो कार्य करते हैं वह बदल जाता है, और क्या जानकारी के साथ करने के लिए एक अनुरोध भेजने के।

आउट समारोह और उसके परिणाम

समारोह के मुख्य भाग है, तो आप किसी भी भाषा ऑपरेटरों, जो, वास्तव में, यह करने के लिए है लिख सकते हैं। अंदर सुविधाओं चर के अंदर और बाहर की घोषणा की जाती है, लेकिन अन्य कार्यों में वर्णित नहीं उन।

आप समारोह एक परिणाम वापस करना चाहते हैं, तो आप जावास्क्रिप्ट वापसी कथन का उपयोग कर सकते हैं: वापसी। समारोह के शरीर वापसी बयान के लिए पर्याप्त संख्या में हो सकता है। यह आवश्यक नहीं है कि उन सभी को एक ही प्रकार के परिणाम वापस आ जाएगी।

आमतौर पर, डेवलपर्स इस अवसर सम्मान दिया जाता है और परिस्थितियों के आधार पर, जितनी जल्दी हो सके समारोह से वापस लेने का फैसला।

यह कार्यों के पूरे एल्गोरिथ्म के माध्यम से चलाने के लिए आवश्यक नहीं है, जब आप पहले बाहर निकल सकते हैं।

समारोह तर्क

तर्क समारोह सूची, अल्पविराम के द्वारा अलग करने के लिए पारित कर रहे हैं, कोष्ठक में संलग्न, और सिर्फ उसका नाम के बाद कर रहे हैं। तर्क चर नाम का इस्तेमाल किया है, लेकिन आप मान सीधे पारित कर सकते हैं। एक समारोह में एक JavaScript फ़ंक्शन पास करने के लिए, तो आप सिर्फ कोष्ठक के बिना अपने नाम निर्दिष्ट करना होगा।

समारोह के अंदर उपलब्ध चर तर्क है, जो लंबाई संपत्ति है। आप तर्क के माध्यम से किसी भी तर्क समारोह का उल्लेख कर सकते [0], तर्क [1], ... पिछले तर्कों को [arguments.length-1]।

तर्क के समारोह बदल रहा है वास्तव में समारोह के अंदर नहीं बल्कि यह बाहर है। आदेश समारोह के बाहर कुछ बदलने के लिए, ऑपरेटर जावास्क्रिप्ट वापसी का उपयोग करना चाहिए, जिसके माध्यम से बाहर करने के लिए आवश्यक मूल्य गुजरती हैं।

समारोह खत्म होने के बाद सभी कि इसके कार्यान्वयन के साथ जुड़े थे, नष्ट हो जाएगा। समारोह के निष्पादन के दौरान उन भीतरी इलाकों में उन सहित अन्य कार्य में वर्णित हैं सिवाय इसके कि बाहरी चर बदल सकता है,।

हम तर्क कॉल प्राप्त करने वाला संपत्ति है, जो एक समारोह है कि एक निश्चित समय पर किया जाता है फोन करने का इरादा है है। अगर कारण ही है, समारोह में समारोह के JavaScript संस्करण प्रत्यावर्तन लागू करेंगे।

कार्यों का उपयोग करना

कार्यों की मुख्य चिंता - घटना ब्राउज़र की सेवा के लिए। इस लगभग हर टैग करने के लिए एक घटना नाम और इसके निर्माण का कार्य निर्दिष्ट करने की क्षमता है। आप एक से अधिक घटनाओं निर्दिष्ट कर सकते हैं, लेकिन प्रत्येक घटना के लिए केवल एक ही समारोह का संकेत मिलता है।

एक समारोह एकाधिक पृष्ठ तत्वों और कुछ घटनाओं को संभाल सकता है। के माध्यम से «इस» विकल्प, आपको जानकारी समारोह जहां यह कहा जाता था स्थानांतरित कर सकते हैं।

जे एस-कार्यों की क्लासिक उपयोग - तत्वों पर ईवेंट हैंडलर्स। इस उदाहरण में scfWecomeGo () फ़ंक्शन या scfWelcomeCancel () आगंतुक के इनपुट / आउटपुट के रूप में कहा जाता है, और जब ऑपरेटिंग मोड scfMenuItemClick (यह) का चयन।

उत्तरार्द्ध मामले में, पैरामीटर पारित कर दिया «इस», आप चमत्कारिक ढंग क्या है दिवा बुलाया गया था से जानने के लिए अनुमति देता है जो करने के लिए। वास्तव में, जावास्क्रिप्ट इसलिए गुणात्मक डोम में प्रत्यारोपित किया जाता है, और यह बहुत आसानी से आप उसके तत्वों नेविगेट करने के लिए, आवश्यक जानकारी है कि पृष्ठों गतिशीलता बस अप्रत्याशित हो सकते हैं इकट्ठा करने के लिए अनुमति देता है।

समारोह एक स्ट्रिंग, नंबर, या अन्य समारोह वापस जाने के लिए नहीं है। यह एक पूर्ण HTML तत्व लौट सकते हैं, और जो तत्वों की अपेक्षित संख्या है, उनके संचालकों, उनके घटनाओं के साथ।

पृष्ठ पर एक तत्व रखने से, डेवलपर कि समस्या को हल करने और आगंतुकों के हितों को पूरा करने के मामले में अच्छा है, लेकिन कार्यान्वयन के मामले में काफी मुश्किल है एक नई कार्यक्षमता पैदा करता है।

के विकास के बाद इस तरह के एक पूरी तरह से, कार्यात्मक आसान मूल कोड में खो करने के लिए मिलता है, फ़ंक्शन कॉल में, क्षणों में जब गठन या कि एक या पेज का एक और की सामग्री। विकास के इस तरह के एक दिशा लेने से पहले, एक अच्छी तरह से सब कुछ वजन में बाधा नहीं।

सोच के वितरण पर

डेवलपर पृष्ठ के सभी तत्वों, सभी घटनाओं पर के स्तर पर लगता है, और कैसे सब कुछ वास्तव में होता है की एक स्पष्ट प्रस्तुति होना आवश्यक है। यह कठिन है, लेकिन काम इसके लायक है।

जावास्क्रिप्ट में समारोह किसी घटना तक विलंबित किया जा सकता है और इन सुविधाओं कई हो सकते हैं, और घटनाओं का प्रसार और विभिन्न प्रोसेसर की "दृश्यता के क्षेत्र" में जाने का कोई प्रवृत्ति है।

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

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

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

तर्क और कार्यों का परिणाम

जावास्क्रिप्ट आप "पूर्ण विशेषताओं" स्थिति में कोड लाने के लिए अनुमति देता है। आम तौर पर, जब समारोह के तर्क कार्य है। की अनुमति विकल्प, समारोह एक समारोह देता है। जावास्क्रिप्ट यह काफी शांति से ले जाता है।

यह एक अच्छा तंत्र, बल्कि कार्यान्वयन के संबंध में जटिल है। तकनीकी तौर पर अनुमति शब्दार्थ केवल किसी सुयोग्य डेवलपर द्वारा "कार्यात्मक" तर्क संचरण प्रदान करते हैं।

जब एक समारोह में एक JavaScript फ़ंक्शन - सब ठीक है, लेकिन समारोह एक समारोह उत्पन्न करता है, और दूसरा वह, तर्क का पालन करने के काफी मुश्किल है जब। वास्तव में, सवाल कौशल को लागू करने, प्रश्न सुरक्षित और सही परिणाम प्राप्त करने के लिए है कि क्या नहीं है।

डेवलपर देखभाल स्पष्ट और सरल है। कोई समस्या है, तो आप एक समाधान की जरूरत है, जैसे एक बग नहीं «JavaScript त्रुटि आपरेशन असुरक्षित है» , एक खाली स्क्रीन, या सभी ब्राउज़र इंजन बंद करो।

तर्क एक समारोह है, तो डेवलपर विशेष गुणों के साथ एक चर पारित करने के लिए है, तो है कि एक नंबर, न कोई स्ट्रिंग, नहीं एक वस्तु नहीं है। लेकिन इस तरह के एक तर्क के उपयोग के तथ्य यह है कि बाहरी चर बदल सकते हैं और समारोह निष्पादन का परिणाम है हो सकता है। परिवर्तन है कि पर्याप्त स्थानांतरित कर दिया जाएगा पर निर्भर करता है।

उत्पन्न कोड का निष्पादन

काम अन्य कोड के पाठ्यक्रम में उत्पन्न निष्पादन कोड लागू करें, यह «eval» के माध्यम से संभव है। यह एक उत्कृष्ट समाधान माना जाता है नहीं है, लेकिन अक्सर अनावश्यक कार्यों के साथ कोड को मुश्किल नहीं कर सकते, और JavaScript कोड का तुच्छ लाइन के गठन को सीमित करने और बस इसे निष्पादित।

इस उदाहरण में, डालने में कुछ जानकारी प्रचलित div में सिलाई का गठन किया गया है। दिवा और अलग अलग स्थानों के विभिन्न संख्या के लिए जानकारी सामग्री, क्योंकि इस स्थिति में ऐसा निर्णय एक गारंटीकृत स्थिति «जावास्क्रिप्ट त्रुटि आपरेशन असुरक्षित है» प्रदान नहीं करता है , लेकिन दृढ़ता से वांछित प्रभाव दे।

अति सूक्ष्म अंतर जावास्क्रिप्ट क्रांतिकारी बदलाव "समारोह में समारोह"

आप तामझाम के बिना कर सकते हैं, यह इसका इस्तेमाल करने के लिए बेहतर है। इन विकल्पों में से सभी अच्छे हैं। बेशक, कई मामलों में, यह केवल समाधान है।

प्रत्यावर्तन का एक उत्कृष्ट उदाहरण: भाज्य। यह एक एल्गोरिथ्म है कि पाश होगा लिखने के लिए पर्याप्त मुश्किल है, लेकिन यह बहुत आसान है, आप लिफाफा मूल्यों धक्का कर सकते हैं। क्रमगुणित बहुत तेजी से बढ़ रहा है।

सामान्य बातें - हालांकि, प्रत्यावर्तन, और समारोह एक और समारोह, जो सूचित कॉलबैक कर सकते हैं कहते हैं।

उदाहरण के लिए, एक नियमित रूप से तालिका। अन्य तालिका एक मेज हो सकता है। नेस्टिंग प्रतिबंधित नहीं किया जा सकता है। बहुत ज्यादा लक्जरी - हर तालिका के लिए सुविधाओं के अपने स्वयं के सेट लिखें।

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.birmiss.com. Theme powered by WordPress.