← Back to HTML Course | Chapter 3: Page Structure | Lesson 5 of 12

HTML JavaScript

अगर HTML किसी कार का physical frame है और CSS exterior paint और interior design है, तो JavaScript engine है। इसके बिना आपकी कार कहीं नहीं जा सकती; वह बस display पर खड़ी रहती है। JavaScript वह brain है जो आपके webpages को interactive बनाता है। यह inputs calculate करता है, status banners update करता है, और interface components को real-time में animate करता है। अपने HTML में JavaScript जोड़कर, आप static text pages को पूरी तरह functional, responsive web tools में बदल देते हैं जो हर user click और keypress पर respond करते हैं।
Syntax
markup
<script>
  // JavaScript code
</script>

<script src="script.js"></script>

script Tag

script tag आपके webpage पर client-side JavaScript को embed या reference करने के लिए इस्तेमाल होता है। browser script tag को पढ़ता है और उसके अंदर के कोड को चलाकर आपके page को interactive बनाता है।

Note:
  • आप अपना script सीधे script tags के अंदर लिख सकते हैं, या बाहरी script files load करने के लिए src attribute इस्तेमाल कर सकते हैं।
  • Accepted attributes:
  • src — बाहरी script का URL
  • type — module | importmap | text/javascript (default) | अन्य data block type
  • async — boolean; download होते ही चलाएं
  • defer — boolean; parsing के बाद चलाएं
  • crossorigin — anonymous | use-credentials
  • integrity — Subresource Integrity के लिए hash
Warning: अपने script block के अंदर HTML tags न रखें, क्योंकि JavaScript engine उन्हें parse नहीं कर पाएगा।

उदाहरण: The script Tag

markup
<script>
  console.log("Hello from JavaScript");
</script>

HTML Elements को Target और Modify करना

JavaScript आपके webpage से HTML elements को target करके और उनके content या style attributes को dynamically बदलकर interact करता है, जिससे आपका page user actions पर real-time में react कर पाता है।

Note: अपने page पर किसी खास element को तुरंत target और update करने के लिए document.getElementById इस्तेमाल करें।
Warning: सुनिश्चित करें कि element पूरी तरह load हो चुका हो, इससे पहले कि आपका script उसे target करे, वरना script error return करेगा।

उदाहरण: Targeting and Modifying HTML Elements

markup
<p id="message">Original text</p>
<script>
  document.getElementById('message').textContent = 'Updated text';
</script>

बाहरी JavaScript Files को Link करना

जैसे-जैसे आपकी website की features बढ़ती हैं, scripts को सीधे HTML files में लिखने से वे बिखरी हुई और maintain करने में मुश्किल हो सकती हैं। एक बाहरी .js फ़ाइल को link करने से आपका कोड व्यवस्थित रहता है और कई pages पर दोबारा इस्तेमाल करना आसान हो जाता है।

Note:
  • अपने बाहरी scripts को प्रोजेक्ट के अंदर एक अलग js फ़ोल्डर में app.js नाम की फ़ाइल में save करें।
  • Accepted attributes:
  • src — script फ़ाइल का URL
  • defer — boolean
  • async — boolean
  • type — module | text/javascript
Warning: External script files में केवल raw JavaScript code होना चाहिए; .js फ़ाइल के अंदर कभी भी HTML tags न लिखें।

उदाहरण: Linking External JavaScript Files

markup
<script src="app.js"></script>

Script Placement और Loading को Manage करना

Default रूप से, browsers script files को download और run करने के लिए आपके webpage layout को load करना रोक देते हैं, जिससे आपकी site की loading speed धीमी पड़ सकती है।

अपने pages को तेज़ी से load रखने के लिए आप script tags को page के सबसे नीचे रख सकते हैं, या उन्हें background में load करने के लिए defer और async attributes इस्तेमाल कर सकते हैं।

Note: अपने script tags पर defer attribute इस्तेमाल करें, ताकि browser आपका page layout load करने के साथ-साथ script फ़ाइल भी download करे।
Warning: अगर आप scripts को defer के बिना load करते हैं, तो script tag के नीचे मौजूद कोई भी elements आपके code को उस समय accessible नहीं होंगे जब वह run होगा।

उदाहरण: Managing Script Placement and Loading

markup
<script src="app.js" defer></script>

सरल User Interactions को Handle करना

आप JavaScript का इस्तेमाल करके अपने page पर user interactions, जैसे किसी button पर क्लिक करना या किसी input box में टाइप करना, के जवाब में standard event listeners का इस्तेमाल करते हुए custom actions trigger कर सकते हैं।

Note: जल्दी testing के लिए onclick attribute इस्तेमाल करें, लेकिन जैसे-जैसे प्रोजेक्ट बढ़े, अपनी बाहरी script files में advanced event listeners की तरफ बढ़ें।
Warning: सुनिश्चित करें कि आपके event handler function names आपकी script definitions से बिल्कुल match करें, क्योंकि typos की वजह से आपके buttons काम करना बंद कर देंगे।

उदाहरण: Handling Simple User Interactions

markup
<button onclick="alert('Clicked!')">Click me</button>

Script Loading Strategies

आप JavaScript को कहाँ और कैसे load करते हैं, इससे आपके page की speed काफी हद तक प्रभावित होती है। defer और async attributes यह control करते हैं कि browser आपके scripts को कब download और execute करे।

Note:
  • ज्यादातर scripts के लिए defer इस्तेमाल करें — यह background में download होता है और HTML parse होने के बाद चलता है।
  • Accepted values:
  • (कुछ नहीं) — parsing रोकता है, तुरंत चलता है
  • async — parallel में download होता है, तैयार होते ही चलता है
  • defer — parallel में download होता है, क्रम में parsing के बाद चलता है
  • type=module — default रूप से deferred
Warning: head में बिना defer या async के रखी गई scripts page rendering को block कर देती हैं, जिससे आपकी site धीमी महसूस होती है।

उदाहरण: Script Loading Strategies

markup
<script src="app.js" defer></script>
<script src="tracker.js" async></script>
Live Example
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
🔒

Chapter Quiz — Complete all 12 topics to unlock

0/12 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.