फ़ंक्शन पैरामीटर
पिछले पाठ में आपने काम को एक नाम के नीचे बाँधा; कोष्ठक खाली रहे। असली प्रोग्राम को इनपुट चाहिए — नाम, योग, संदेश — ताकि वही बॉडी अलग मानों से चले। वे नाम वाले खाली स्थान पैरामीटर हैं। कॉल पर जो मान देते हैं वे आर्गुमेंट हैं।
पैरामीटर और आर्गुमेंट
जब आप function greet(name) { … } लिखते हैं, name एक पैरामीटर है: बॉडी के अंदर स्थानीय नाम। जब greet("Sara") लिखते हैं, "Sara" आर्गुमेंट है: इस कॉल के लिए वह असली मान। एक रेसिपी, अलग सामग्री।
क्या कहाँ लिखा जाता है
📊 पैरामीटर बनाम आर्गुमेंट
| विचार | कहाँ लिखते हैं | रोज़ का उदाहरण |
|---|---|---|
| पैरामीटर | घोषणा पर () के अंदर |
खाली कटोरा जिस पर लेबल name |
| आर्गुमेंट | कॉल पर () के अंदर |
जो डालते हैं — "Sara" |
| क्रम | बाएँ से दाएँ | पहला आर्गुमेंट → पहला पैरामीटर |
| डिफ़ॉल्ट | घोषणा में name = "friend" |
अगर कुछ न लाएँ तो आरक्षित मान |
| खाली स्लॉट | कम मानों वाली कॉल | बिना डिफ़ॉल्ट के वह पैरामीटर undefined |
पैरामीटर घोषणा पर रहते हैं। आर्गुमेंट हर कॉल के साथ आते हैं। दोनों शब्दों को मिलाना शुरुआती गलती है — आदत बनने तक तालिका पास रखें।
function greet(name) {
console.log("Hello, " + name);
}
greet("Sara");
एक इनपुट, एक स्लॉट
name greet के अंदर इंतज़ार करता है। कॉल "Sara" पास करती है। बॉडी Hello, Sara बनाकर लॉग करती है। आर्गुमेंट बदलें, बॉडी रखें — पैरामीटर का फ़ायदा यही है।
function add(a, b) {
console.log(a + b);
}
add(3, 4);
दो स्लॉट, दो मान
पैरामीटर अल्पविराम से: a, b। आर्गुमेंट उसी क्रम में: 3 → a, 4 → b। लॉग में 7 दिखता है। बॉडी उन संख्याओं को हार्ड-कोड नहीं करती — कॉल देती है।
function label(color, surface) {
console.log(color + " on " + surface);
}
label("red", "wall");
label("wall", "red");
क्रम ही अनुबंध है
पहली कॉल red on wall छापती है। दूसरी wall on red — वही फ़ंक्शन, बदले आर्गुमेंट। JavaScript अनुमान नहीं लगाता कि कौन-सा मान «रंग जैसा» है। स्थिति तय करती है।
function greetFriend(name = "friend") {
console.log("Hi, " + name);
}
greetFriend("Ali");
greetFriend();
कुछ न आए तो आरक्षित मान
name = "friend" एक डिफ़ॉल्ट सेट करता है। greetFriend("Ali") अब भी "Ali" लेता है। खाली () वाली greetFriend() "friend" लेती है। डिफ़ॉल्ट बॉडी को तब सुरक्षित रखता है जब कॉलर स्लॉट छोड़ दे।
function showId(id) {
console.log(id);
}
showId();
न मान, न डिफ़ॉल्ट
showId() id को कुछ नहीं देता। बिना डिफ़ॉल्ट के id undefined है और वही छपता है। क्रैश नहीं — संकेत है कि आर्गुमेंट भूले या डिफ़ॉल्ट चाहिए।
स्ट्रिंग को पेज में दें
पहले जैसा DOM पैटर्न, लेकिन संदेश आर्गुमेंट से बनता है। एक फ़ंक्शन अलग मेहमानों का स्वागत कर सकता है — सिर्फ कॉल बदलती है। नीचे का HTML डेमो ठीक यही करता है।
पेज पर पैरामीटर दिखाएँ
मेहमान का नाम लेने वाला फ़ंक्शन घोषित करें, पैराग्राफ़ में छोटा स्वागत लिखें, फिर असली स्ट्रिंग से कॉल करें।
<!DOCTYPE html>
<html>
<head>
<title>parameters — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
let box = document.getElementById("msg");
box.textContent = "Hello, " + guest;
}
welcome("Omar");
</script>
</body>
</html>
पेज Hello, Omar दिखाता है। guest पैरामीटर था; "Omar" आर्गुमेंट। कॉल में सिर्फ स्ट्रिंग बदलें, रिफ़्रेश करें, नई पंक्ति पढ़ें। अगला पाठ return — फ़ंक्शन से बाहर मान भेजना।
खुद आज़माएँ
function hello(name)लिखें जो"hi "प्लसnameलॉग करे; अपने नाम से कॉल करें।function sum(x, y)लिखें जोx + yलॉग करे; दो संख्याओं से कॉल करें।- दो-पैरामीटर फ़ंक्शन को बदले आर्गुमेंट से दो बार कॉल करें और लॉग तुलना करें।
title = "guest"जैसा डिफ़ॉल्ट जोड़ें; एक बार मान के साथ, एक बार खाली()से कॉल करें।- बिना आर्गुमेंट और बिना डिफ़ॉल्ट एक-पैरामीटर फ़ंक्शन कॉल करें; कंसोल में
undefinedदेखें। - HTML डेमो में सिर्फ आर्गुमेंट स्ट्रिंग बदलें, रिफ़्रेश करें, पैराग्राफ़ पढ़ें।
आम गलतियाँ
- बॉडी को मान चाहिए हो और खाली
()से कॉल — बिना डिफ़ॉल्टundefinedमिलेगा - आर्गुमेंट क्रम पलटकर उम्मीद कि JavaScript «जान लेगा» कौन किसका है
- पैरामीटर (घोषणा) और आर्गुमेंट (कॉल) मिलाना
- दो पैरामीटर या दो आर्गुमेंट के बीच अल्पविराम भूलना
- यहाँ रिटर्न मान खोजना — वह अगला पाठ है; यह पेज सिर्फ इनपुट पर है
सार
- पैरामीटर घोषणा के
()में नाम हैं - आर्गुमेंट कॉल पर दिए गए मान हैं
- क्रम बाएँ से दाएँ — पहला के साथ पहला, दूसरा के साथ दूसरा
- डिफ़ॉल्ट तब भरता है जब कॉलर स्लॉट छोड़ दे
- बिना डिफ़ॉल्ट खाली स्लॉट
undefinedबनता है - पेज अपडेट संदेश में पास किया मान इस्तेमाल कर सकता है
- अगला: return — फ़ंक्शन से बाहर परिणाम भेजें
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी