Javaस्क्रिप्ट परिभाषित करें और उदाहरण के साथ फ़ंक्शन कॉल करें
⚡ स्मार्ट सारांश
Javaस्क्रिप्ट फ़ंक्शन कोड के पुन: प्रयोज्य ब्लॉकों का समूह बनाते हैं जो केवल कॉल किए जाने पर ही चलते हैं, और यह वॉकथ्रू दिखाता है कि एक स्क्रिप्ट फ़ंक्शन को कैसे घोषित किया जाए, उसमें तर्क कैसे पास किए जाएं और कॉलर को एक मान कैसे लौटाया जाए।
फंक्शन क्या है? Javaलिखी हुई कहानी?
किसी भी प्रोग्रामिंग भाषा में फ़ंक्शन बहुत महत्वपूर्ण और उपयोगी होते हैं क्योंकि वे कोड को पुन: उपयोग करने योग्य बनाते हैं। फ़ंक्शन कोड का एक ब्लॉक होता है जो केवल तभी निष्पादित होता है जब उसे कॉल किया जाता है। यदि आपके पास कोड की कुछ पंक्तियाँ हैं जिन्हें कई बार उपयोग करने की आवश्यकता है, तो आप उन दोहराई जाने वाली पंक्तियों को शामिल करके एक फ़ंक्शन बना सकते हैं और फिर जहाँ चाहें उस फ़ंक्शन को कॉल कर सकते हैं।
कोष्ठकों के अंदर कुछ भी अपने आप नहीं चलता। ब्राउज़र ब्लॉक को आपके द्वारा दिए गए नाम से संग्रहीत करता है, और कोड तभी निष्पादित होता है जब उस नाम के बाद कोष्ठक लिखे जाते हैं, जैसे कि myFunction()इसलिए, कार्य प्रत्येक कार्य के केंद्र में स्थित होते हैं। Javaलिपि प्रोग्राम, चाहे स्क्रिप्ट जीवित हो पृष्ठ के अंदर या किसी बाहरी फ़ाइल में.
में फ़ंक्शन कैसे बनाएं Javaलिपि
- कीवर्ड का उपयोग करें समारोह इसके बाद फ़ंक्शन का नाम आता है।
- फ़ंक्शन नाम के बाद, कोष्ठक खोलें और बंद करें.
- कोष्ठक के बाद, घुंघराले ब्रेसेज़ को खोलें और बंद करें।
- कर्ली ब्रैकेट्स के भीतर, कोड की अपनी पंक्तियां लिखें।
सिंटेक्स:
function functionname()
{
lines of code to be executed
}
नीचे दिया गया उदाहरण परिभाषित करता है myFunction() और फिर इसे अगली ही पंक्ति में कॉल करता है, जिससे पेज लोड होते ही संदेश दिखाई देता है। इसे स्वयं आजमाकर देखें:
<html>
<head>
<title>Functions!!!</title>
<script type="text/javascript">
function myFunction()
{
document.write("This is a simple function.<br />");
}
myFunction();
</script>
</head>
<body>
</body>
</html>
तर्कों के साथ फ़ंक्शन
आप आर्गुमेंट्स के साथ भी फंक्शन बना सकते हैं। आर्गुमेंट्स को कोष्ठक के भीतर निर्दिष्ट किया जाना चाहिए।
सिंटेक्स:
function functionname(arg1, arg2)
{
lines of code to be executed
}
यहाँ countVowels() यह ऐप आगंतुक द्वारा प्रॉम्प्ट में टाइप किए गए नाम को प्राप्त करता है, प्रत्येक अक्षर से होकर गुजरता है, और बताता है कि नाम में कितने स्वर हैं। इसे स्वयं आजमाकर देखें:
<html>
<head>
<script type="text/javascript">
var count = 0;
function countVowels(name)
{
for (var i=0;i<name.length;i++)
{
if(name[i] == "a" || name[i] == "e" || name[i] == "i" || name[i] == "o" || name[i] == "u")
count = count + 1;
}
document.write("Hello " + name + "!!! Your name has " + count + " vowels.");
}
var myName = prompt("Please enter your name");
countVowels(myName);
</script>
</head>
<body>
</body>
</html>
Javaस्क्रिप्ट वापसी मान
आप JS फ़ंक्शन भी बना सकते हैं जो मान लौटाते हैं। फ़ंक्शन के अंदर, आपको कीवर्ड का उपयोग करना होगा वापसी इसके बाद लौटाया जाने वाला मान आता है।
सिंटेक्स:
function functionname(arg1, arg2) { lines of code to be executed return val1; }
इस अंतिम उदाहरण में returnSum() यह फ़ंक्शन कुल योग को उस फ़ंक्शन को वापस भेज देता है जिसने इसे कॉल किया था, ताकि परिणाम को फ़ंक्शन के अंदर प्रिंट करने के बजाय एक वाक्य में जोड़ा जा सके। इसे स्वयं आज़माएँ:
<html>
<head>
<script type="text/javascript">
function returnSum(first, second)
{
var sum = first + second;
return sum;
}
var firstNo = 78;
var secondNo = 22;
document.write(firstNo + " + " + secondNo + " = " + returnSum(firstNo,secondNo));
</script>
</head>
<body>
</body>
</html>
कार्यों के प्रकार Javaलिपि
ऊपर दिए गए तीनों उदाहरणों में क्लासिक फ़ंक्शन घोषणा का उपयोग किया गया है, फिर भी आधुनिक Javaस्क्रिप्ट कई अन्य रूप भी प्रदान करती है। इनमें मुख्य अंतर यह है कि इंजन इन्हें उठाता है या नहीं और प्रत्येक रूप इनके साथ कैसा व्यवहार करता है। this कीवर्ड।
| फ़ंक्शन प्रकार | सामान्य वाक्यविन्यास | इसका प्रयोग कब किया जाता है |
|---|---|---|
| समारोह घोषणा | फ़ंक्शन अभिवादन() { } | नामयुक्त, पुन: प्रयोज्य तर्क; अपने दायरे के शीर्ष पर पहुँचाया गया |
| फ़ंक्शन अभिव्यक्ति | const greet = function () { }; | किसी फ़ंक्शन को वेरिएबल में स्टोर करना; होस्ट नहीं किया गया |
| एरो फंक्शन (ES6) | const greet = () => { }; | संक्षिप्त कॉलबैक; यह आसपास के स्कोप से इसे इनहेरिट करता है |
| अनाम फ़ंक्शन | setTimeout(function () { }, 100); | एक बार उपयोग होने वाला लॉजिक सीधे दूसरे फ़ंक्शन में पारित किया जाता है |
| आईआईएफई | (समारोह () { })(); | यह तुरंत चलता है और अपने वेरिएबल्स को गोपनीय रखता है। |
| कॉलबैक | आइटम.प्रत्येक के लिए (आइटम दिखाएँ); | एक फ़ंक्शन जिसे दूसरे फ़ंक्शन को सौंपा जाता है और बाद में कॉल किया जाता है। |
ऊपर दिए गए उदाहरणों पर ध्यान दें: ऐतिहासिक नमूनों का उपयोग var और document.write()और ये दोनों अभी भी हर ब्राउज़र में चलते हैं। वर्तमान अभ्यास में वेरिएबल्स को इस प्रकार घोषित किया जाता है। let or const और इसके माध्यम से आउटपुट प्रिंट करता है console.log() या सेटिंग द्वारा textContent किसी तत्व पर, क्योंकि document.write() यह उस पेज को मिटा देता है जो पहले ही लोड हो चुका है। type="text/javascript" HTML5 में एट्रीब्यूट भी वैकल्पिक है।
फ़ंक्शन पैरामीटर, तर्क और डिफ़ॉल्ट मान
पैरामीटर परिभाषा में सूचीबद्ध प्लेसहोल्डर नाम होते हैं, जबकि आर्गुमेंट वे वास्तविक मान होते हैं जो फ़ंक्शन को कॉल करते समय प्रदान किए जाते हैं। countVowels(name) ऊपर, name यहां पैरामीटर है और प्रॉम्प्ट में टाइप किया गया टेक्स्ट आर्गुमेंट है।
function greet(user, greeting = "Hello") { return greeting + ", " + user; } greet("Ann"); greet("Ann", "Welcome");
- बिना मिलान वाले तर्क वाला पैरामीटर बन जाता है
undefinedजब तक कोई डिफ़ॉल्ट मान प्रदान नहीं किया जाता है, तब तकgreetingयहाँ है. - अतिरिक्त तर्कों को पैरामीटर सूची द्वारा अनदेखा कर दिया जाता है, लेकिन वे इसके माध्यम से पहुंच योग्य बने रहते हैं।
argumentsकिसी भी गैर-एरो फ़ंक्शन के अंदर ऑब्जेक्ट। - एक रेस्ट पैरामीटर जिसे इस प्रकार लिखा जाता है
...valuesशेष सभी तर्कों को एक वास्तविक रूप में एकत्रित करता है सरणी.
कार्यक्षेत्र और उत्थापन Javaलिपि
किसी फ़ंक्शन को कहाँ लिखा जाता है, यह निर्धारित करता है कि वह क्या देख सकता है और उसे कब कॉल किया जा सकता है। दो नियम लगभग हर उस आश्चर्य की व्याख्या करते हैं जिसका सामना शुरुआती लोग करते हैं।
- उत्थापन: स्क्रिप्ट चलने से पहले फ़ंक्शन घोषणाओं को उनके स्कोप के शीर्ष पर ले जाया जाता है, इसलिए उन्हें उनकी परिभाषा से ऊपर वाली पंक्ति पर भी कॉल किया जा सकता है। फ़ंक्शन एक्सप्रेशन और एरो फ़ंक्शन को होस्ट नहीं किया जाता है और यदि उन्हें पहले कॉल किया जाता है तो वे त्रुटि उत्पन्न करते हैं।
- दायरा: घोषित चर
varकिसी फ़ंक्शन के अंदर की जानकारी उस फ़ंक्शन में हर जगह दिखाई देती है, जबकिletऔरconstये फ़ंक्शन उसी ब्लॉक तक सीमित होते हैं जिसमें वे स्थित होते हैं। किसी भी फ़ंक्शन के बाहर घोषित की गई कोई भी चीज़ वैश्विक होती है।
स्वर प्रतिरूप इसे व्यवहार में दर्शाता है। count वेरिएबल को फ़ंक्शन के बाहर घोषित किया गया है, इसलिए कॉलिंग countVowels() उसी पृष्ठ पर दूसरी बार ऐसा करने पर शून्य से पुनः आरंभ होने के बजाय पहले के कुल योग में वृद्धि जारी रहती है। घोषणा को फ़ंक्शन के अंदर ले जाने से प्रत्येक कॉल पर यह रीसेट हो जाएगा।
ये स्कोping ये नियम सर्वर-साइड कोड पर भी लागू होते हैं, इसीलिए फ़ंक्शन लिखते समय भी यही तर्क लागू होता है। Node.jsऔर फ़ंक्शन व्यवहार इतनी बार क्यों दिखाई देता है Javaसाक्षात्कार के लिए पूछे जाने वाले प्रश्नों की पटकथा.
