📘 CodingMarble Learn

जावास्क्रिप्ट की मूल बातें: वेब पेज को सोचना और जवाब देना सिखाइए

जावास्क्रिप्ट वेब पेजों की प्रोग्रामिंग भाषा है। HTML पेज बनाता है, CSS उसे सजाता है और जावास्क्रिप्ट उससे काम करवाती है। वेरिएबल (let, const) नाम वाले डिब्बे हैं जिनमें मान रखे जाते हैं: संख्या, स्ट्रिंग, बूलियन, ऐरे और ऑब्जेक्ट। ऑपरेटर गणना और तुलना करते हैं। if…else से प्रोग्राम चुनता है; for और while लूप कोड दोहराते हैं। फ़ंक्शन कोड का नाम वाला हिस्सा है जिसे कई बार बुलाया जा सकता है, पैरामीटर और return मान के साथ। बिल्ट-इन मेथड स्ट्रिंग (length, toUpperCase, slice), ऐरे (push, pop, sort, join) और Math (round, max, random) पर काम करते हैं। click और input जैसे इवेंट उपयोगकर्ता के कुछ करने पर फ़ंक्शन चलाते हैं।

🎬 कदम-दर-कदम कहानी

  1. वेरिएबल एक नाम वाला डिब्बा है जिसमें मान रखा जाता है। let score = 5 से score नाम के डिब्बे में 5 रखा जाता है।
  2. ऑपरेटर मानों पर काम करते हैं: + − * / और % (शेषफल) गणना करते हैं; > और === तुलना करके true या false देते हैं।
  3. if…else से प्रोग्राम चुनता है। अगर marks >= 33 तो हरा द्वार खुलता है, वरना लाल।
  4. लूप कोड दोहराता है। for (let i = 1; i <= n; i++) अपनी बॉडी को n बार चलाता है।
  5. बिल्ट-इन मेथड ऐरे, स्ट्रिंग और Math पर आपका काम करते हैं: push, pop, sort, length, toUpperCase, Math.max।
  6. खुद खेलिए: फ़ंक्शन एक नाम वाली विधि है और इवेंट (क्लिक) उसे बुलाता है। toggleLight() बुलाने के लिए बटन दबाइए।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

let कब और const कब इस्तेमाल करें?

सामान्य रूप से const लें; let तभी जब मान बदलना हो (जैसे काउंटर)। चरण 1 में score डिब्बा बदलता दिखता है।

5 == "5" true क्यों देता है?

== तुलना से पहले टाइप बदलता है; === नहीं बदलता। चरण 2 में === चुनकर सख़्त परिणाम देखें।

अगर दो if शर्तें सही हों तो?

if…else if शृंखला में सिर्फ़ पहली सही शर्त वाला भाग चलता है। चरण 3 में अंक खिसकाइए।

for लूप कितनी बार चलता है?

for (let i = 1; i <= n; i++) n बार चलता है; चरण 4 में स्तंभ गिनिए।

sort() 10 को 9 से पहले क्यों रखता है?

डिफ़ॉल्ट sort टेक्स्ट की तरह तुलना करता है। sort((a, b) => a - b) इस्तेमाल करें, चरण 5 में दिखाया है।

फ़ंक्शन और इवेंट में क्या अंतर है?

फ़ंक्शन कोड है; इवेंट वह पल है जो उसे चलाता है। चरण 6 में क्लिक (इवेंट) toggleLight() (फ़ंक्शन) को बुलाता है।

जावास्क्रिप्ट क्या है और इसे पेज में कैसे जोड़ें

जावास्क्रिप्ट (JS) एक प्रोग्रामिंग भाषा है जो वेब ब्राउज़र के अंदर चलती है (और Node.js से सर्वर पर भी)। यह पेज को इंटरैक्टिव बनाती है: फ़ॉर्म जाँचना, टेक्स्ट बदलना, पॉप-अप दिखाना, गेम चलाना।

इसे <script> टैग से जोड़ते हैं, पेज के अंदर या अलग फ़ाइल के रूप में:

<script>
  console.log("Hello");
</script>
<script src="app.js"></script>

आउटपुट: console.log() (डेवलपर कंसोल), alert() (पॉप-अप), document.write() (पुराना तरीका) या document.getElementById("id").textContent = … से किसी एलिमेंट का टेक्स्ट बदलना। इनपुट: prompt() या फ़ॉर्म फ़ील्ड का .value। टिप्पणी: // एक पंक्ति या /* कई पंक्तियाँ */। जावास्क्रिप्ट केस-सेंसिटिव है: Score और score अलग हैं।

वेरिएबल और डेटा टाइप

वेरिएबल किसी मान के लिए नाम वाला डिब्बा है।

let score = 5;        // बाद में बदल सकता है
const PI = 3.14;      // दोबारा नहीं बदला जा सकता
var old = 1;          // पुराना तरीका, न अपनाएँ

नाम में अक्षर, अंक, _ और $ हो सकते हैं, पर नाम अंक से शुरू नहीं हो सकता और कोई कीवर्ड (जैसे if) नहीं हो सकता। मुख्य डेटा टाइप:

typeof x टाइप बताता है। जावास्क्रिप्ट डायनामिक टाइप वाली है: एक वेरिएबल अलग-अलग समय पर अलग टाइप रख सकता है।

ऑपरेटर

शर्तें: if, else if, else और switch

let marks = 72;
if (marks >= 90) {
  grade = "A";
} else if (marks >= 33) {
  grade = "Pass";
} else {
  grade = "Try again";
}

पहली सही (true) शर्त वाला भाग चलता है, बाकी छूट जाते हैं। switch एक मान की कई case से तुलना करता है:

switch (day) {
  case 0: name = "Sunday"; break;
  case 6: name = "Saturday"; break;
  default: name = "Weekday";
}

break भूल जाने पर कोड अगले case में भी चला जाता है।

लूप और सरल प्रोग्राम

// for: जब पता हो कितनी बार
let sum = 0;
for (let i = 1; i <= 5; i++) { sum += i; }   // sum = 15

// while: जब तक शर्त सही है, दोहराओ
let n = 1;
while (n < 100) { n = n * 2; }               // n = 128

// do…while कम से कम एक बार चलता है
do { x--; } while (x > 0);

break लूप से बाहर निकालता है; continue अगले चक्कर पर कूद जाता है। अभ्यास के सरल प्रोग्राम: 1 से n तक योग, पहाड़ा, सम या विषम (n % 2 === 0), तीन संख्याओं में सबसे बड़ी, फ़ैक्टोरियल, संख्या उलटना, शब्द में स्वर गिनना।

फ़ंक्शन

फ़ंक्शन कोड का नाम वाला हिस्सा है। एक बार बनाइए, कई बार बुलाइए।

function area(l, b) {      // l, b पैरामीटर हैं
  return l * b;           // मान वापस भेजो
}
let a = area(4, 3);        // 4, 3 आर्ग्युमेंट हैं → a = 12

const square = x => x * x; // ऐरो फ़ंक्शन
const greet = function(n) { return "Hi " + n; }; // फ़ंक्शन एक्सप्रेशन

फ़ंक्शन के अंदर let/const से बने वेरिएबल लोकल होते हैं (सिर्फ़ अंदर दिखते हैं); बाहर वाले ग्लोबल। बिना return वाला फ़ंक्शन undefined देता है। डिफ़ॉल्ट पैरामीटर: function hi(n = "friend")।

स्ट्रिंग, ऐरे और Math मेथड

स्ट्रिंग

इंडेक्स 0 से शुरू होता है। "hello".length → 5; toUpperCase(), toLowerCase(); charAt(1) → "e"; indexOf("l") → 2; slice(1, 4) / substring(1, 4) → "ell"; replace("h", "j"); trim(); split(","); includes("ell") → true।

ऐरे

let a = [4, 1, 3]; a[0] → 4; a.length → 3; push(x) अंत में जोड़ता है, pop() आख़िरी हटाता है, unshift/shift शुरू में काम करते हैं; indexOf, includes, join("-"), reverse(), slice, splice, concat। sort() टेक्स्ट की तरह क्रम लगाता है, इसलिए संख्याओं के लिए sort((x, y) => x - y) लिखें। लूप सहायक: forEach, map, filter।

Math

Math.round(4.5) → 5, Math.floor(4.9) → 4, Math.ceil(4.1) → 5, Math.max(2, 8) → 8, Math.min, Math.sqrt(16) → 4, Math.pow(2, 3) → 8, Math.abs(-3) → 3, Math.PI। 1–6 के बीच यादृच्छिक पूर्ण संख्या: Math.floor(Math.random() * 6) + 1।

इवेंट हैंडलिंग

इवेंट पेज पर होने वाली घटना है: क्लिक, कुंजी दबाना, बॉक्स में लिखना, पेज लोड होना, माउस का किसी एलिमेंट पर जाना। इवेंट हैंडलर वह फ़ंक्शन है जो घटना होने पर चलता है।

<button id="btn">Click me</button>
<p id="out"></p>
<script>
  let count = 0;
  function clicked() {
    count++;
    document.getElementById("out").textContent = "Clicked " + count;
  }
  document.getElementById("btn").addEventListener("click", clicked);
</script>

मुख्य इवेंट: click, dblclick, mouseover, mouseout, keydown, input, change, submit, load, focus, blur। पुराना इनलाइन तरीका: <button onclick="clicked()">। फ़ॉर्म में event.preventDefault() पेज को दोबारा लोड होने से रोकता है ताकि जावास्क्रिप्ट पहले इनपुट जाँच सके।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. क्या छपेगा? let a = 7, b = 3; console.log(a % b, a / b > 2, "a" + b);

7 % 3 = 1; 7/3 ≈ 2.33 > 2 यानी true; "a" + 3 = "a3"। आउटपुट: 1 true a3।

2. n = 14 के लिए "Even" या "Odd" छापने का कोड लिखिए।

let n = 14; if (n % 2 === 0) { console.log("Even"); } else { console.log("Odd"); } → Even, क्योंकि 14 % 2 = 0।

3. लूप से 1 से 10 तक का योग निकालिए।

let s = 0; for (let i = 1; i <= 10; i++) { s += i; } → s = 55। जाँच: 10 × 11 ÷ 2 = 55।

4. तीन संख्याओं में सबसे बड़ी लौटाने वाला फ़ंक्शन लिखिए।

function big(a, b, c) { let m = a; if (b > m) m = b; if (c > m) m = c; return m; } big(4, 9, 2) → 9। (या return Math.max(a, b, c))।

5. let w = "Learn"; w.length, w.toUpperCase(), w.charAt(0), w.slice(1, 3) क्या होंगे?

5, "LEARN", "L", "ea" (इंडेक्स 1 और 2 के अक्षर; इंडेक्स 3 शामिल नहीं)।

6. let a = [10, 2, 33]; a.push(4); a.sort(); अब a क्या है? संख्याएँ सही क्रम में कैसे लगाएँ?

push के बाद: [10, 2, 33, 4]। sort() टेक्स्ट की तरह तुलना करता है ("10" < "2" < "33" < "4", क्योंकि पहला अक्षर देखता है), इसलिए a [10, 2, 33, 4] ही रहता है। सही: a.sort((x, y) => x - y) → [2, 4, 10, 33]।

7. लूप और स्ट्रिंग मेथड से "education" में स्वर गिनिए।

let s = "education", c = 0; for (let ch of s) { if ("aeiou".includes(ch)) c++; } → c = 5 (e, u, a, i, o)।

8. ऐसा बटन बनाइए जो क्लिक पर पैराग्राफ़ में पासे की यादृच्छिक संख्या दिखाए।

<button id="d">Roll</button><p id="r"></p> और document.getElementById("d").addEventListener("click", () => { document.getElementById("r").textContent = Math.floor(Math.random() * 6) + 1; });

आम गलतियाँ

अभ्यास क्विज़

1. कौन-सा कीवर्ड ऐसा वेरिएबल बनाता है जिसे दोबारा असाइन नहीं किया जा सकता?
2. 10 % 4 कितना है?
3. जावास्क्रिप्ट में "3" + 4 क्या है?
4. ऐरे के अंत में तत्व कौन-सा मेथड जोड़ता है?
5. बटन दबाने पर कौन-सा इवेंट होता है?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

क्या जावास्क्रिप्ट और जावा एक ही हैं?

नहीं। मिलते-जुलते नाम वाली ये दो अलग भाषाएँ हैं। जावास्क्रिप्ट वेब ब्राउज़र में चलती है; जावा ऐप और बड़े सिस्टम बनाने में।

जावास्क्रिप्ट की मूल अवधारणाएँ क्या हैं?

वेरिएबल और डेटा टाइप, ऑपरेटर, शर्तें (if/else, switch), लूप (for, while), फ़ंक्शन, बिल्ट-इन मेथड (स्ट्रिंग, ऐरे, Math) और इवेंट।

जावास्क्रिप्ट में इवेंट हैंडलिंग क्या है?

पेज पर क्लिक या कुंजी दबाने जैसी घटना होने पर कोई फ़ंक्शन चलाना, आमतौर पर element.addEventListener("click", handler) से।

यह कहाँ पढ़ाया जाता है

सीबीएसई (भारत)कक्षा 11जावास्क्रिप्ट भाग-1
सीबीएसई (भारत)कक्षा 12जावास्क्रिप्ट भाग-2

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ