GyanMilega

What is JavaScript? A Complete Beginner's Guide

Author: Sagar Kudu
Sagar Kudu


what is javascriptLearn what JavaScript is, how it works, and how to add it to your web pages with inline, external, async, and defer script loading strategies.


What is JavaScript?

JavaScript (often abbreviated as JS) is a versatile, high-level programming language primarily used to make web pages interactive and dynamic. It’s one of the core technologies of the web, alongside HTML and CSS.

With JavaScript, you can:

  • Create dynamically updating content

  • Animate images and UI elements

  • Control multimedia (video/audio)

  • Build interactive forms, games, and applications

  • Fetch data from APIs without reloading the page (AJAX / Fetch API)

Fun fact: Over 98% of websites use JavaScript on the client side for webpage behavior.


Interpreted vs Compiled Code

Programming languages are usually either interpreted or compiled:

  • Interpreted Languages (like JavaScript): Executed line-by-line at runtime.

  • Compiled Languages (like C/C++): Translated into machine code before execution.

JavaScript is a lightweight interpreted language, but modern engines like V8 (Chrome) and SpiderMonkey (Firefox) use Just-In-Time (JIT) compilation for speed.


How to Add JavaScript to Your Web Page

1. Inline JavaScript

You can embed JavaScript directly inside your HTML using <script> tags:

HTML

<!DOCTYPE html>
<html>
  <body>
    <h1>Hello World</h1>
    <script>
      alert('This is inline JavaScript!')
    </script>
  </body>
</html>

2. External JavaScript

Place your JavaScript in a separate .js file and link it:

HTML

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

This is the preferred method for better code organization, caching, and maintainability.


Script Loading Strategies for Performance

When adding JavaScript, timing matters. If your script runs before the HTML is ready, you might get errors.

Approach 1: DOMContentLoaded Event

Executes JavaScript after the HTML has fully loaded and been parsed:

JavaScript

document.addEventListener('DOMContentLoaded', () => {
  console.log('DOM fully loaded and parsed')
})

Approach 2: defer Attribute

Loads scripts in order but executes only after HTML parsing is complete:

HTML

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

Async vs Defer

Attribute

How it Loads

When it Executes

Best Use Case

async

Downloads asynchronously

Executes immediately after download

Scripts that don’t depend on other scripts

defer

Downloads asynchronously

Executes after HTML parsing (in order)

Scripts that depend on DOM or other scripts

Example of async:

HTML

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

Example of defer:

HTML

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

Best Practices for Beginners

  • Place scripts at the bottom of <body> or use defer to prevent blocking rendering.

  • Keep JavaScript modular by using external files.

  • Use console.log() for debugging.

  • Learn ES6+ features like let, const, arrow functions, and template literals for cleaner code.


📌 Resources:

Powered by wisp

Related Posts

What is a Function in JavaScript? | Function Examples & Guide

Functions in a JavaScript. Learn what functions are in JavaScript with examples. This beginner-friendly guide covers function declarations, parameters, return values, and more.

Read Full Story

Why Do Front-End Frameworks Exist?

Modern frameworks like React, Vue, and Angular exist because building complex, interactive apps with just plain JavaScript quickly becomes unmanageable. Let’s look at how web development evolved and why frameworks are the solution.

Read Full Story

JavaScript Loops Explained with Examples | For Loop

Learn how loops work in JavaScript with beginner-friendly examples. This complete guide covers for loops, while loops, and practical use cases like printing messages, iterating arrays, and filtering even/odd numbers.

Read Full Story

What is TypeScript?

TypeScript is a superset of JavaScript that adds static typing to the language. This means you can define the type of a variable, function parameter, or object property, allowing the compiler to catch type-related errors before your code runs. This leads to more robust and maintainable code.

Read Full Story
Loading...
© Gyan Milega 2025