Complete JavaScript Master Notes
This PDF contains complete JavaScript notes from Beginner to Advanced level including core concepts, DOM,
asynchronous JavaScript, ES6+, APIs, projects, and interview-level concepts.
1. Introduction to JavaScript
JavaScript is a programming language used to create interactive websites.
HTML = Structure
CSS = Styling
JavaScript = Functionality
JavaScript can:
- Handle button clicks
- Fetch API data
- Build games
- Create animations
- Build web apps
[Link]("Welcome to JavaScript");
2. Variables and Keywords
Variables store data.
let → changeable
const → fixed
var → old keyword
let username = "Rahul";
const age = 20;
username = "Rohit";
3. Data Types
JavaScript supports:
1. String
2. Number
3. Boolean
4. Undefined
5. Null
6. Object
7. Array
8. BigInt
9. Symbol
let name = "Rahul";
let marks = 90;
let passed = true;
4. Operators
Operators are used for calculations and comparisons.
let a = 10;
let b = 5;
[Link](a + b);
[Link](a - b);
[Link](a * b);
[Link](a / b);
5. Comparison Operators
Comparison operators compare values.
[Link](5 > 2);
[Link](5 < 2);
[Link](5 == "5");
[Link](5 === "5");
6. Conditional Statements
Used for decision making.
let marks = 85;
if(marks >= 90){
[Link]("A Grade");
}
else if(marks >= 70){
[Link]("B Grade");
}
else{
[Link]("Fail");
}
7. Loops
Loops repeat code multiple times.
for(let i=1; i<=5; i++){
[Link](i);
}
let x = 1;
while(x <= 5){
[Link](x);
x++;
}
8. Functions
Functions are reusable blocks of code.
function greet(name){
return "Hello " + name;
}
[Link](greet("Rahul"));
9. Arrow Functions
Modern shorter syntax for functions.
const add = (a,b) => {
return a + b;
};
10. Scope
Scope decides where variables can be accessed.
Global Scope
Function Scope
Block Scope
let name = "Rahul";
function test(){
let age = 20;
}
11. Arrays
Arrays store multiple values.
let fruits = ["Apple", "Banana", "Mango"];
[Link](fruits[0]);
[Link]("Orange");
12. Array Methods
Important methods:
- push
- pop
- shift
- unshift
- map
- filter
- reduce
- forEach
let nums = [1,2,3,4];
let doubled = [Link]((num)=>{
return num * 2;
});
[Link](doubled);
13. Objects
Objects store key-value pairs.
let student = {
name: "Rahul",
age: 20,
city: "Patan"
};
[Link]([Link]);
14. Object Methods
Objects can contain functions.
let user = {
name: "Rahul",
greet: function(){
[Link]("Hello");
}
};
[Link]();
15. DOM Introduction
DOM allows JavaScript to control HTML elements.
[Link]("title");
16. DOM Manipulation
Change text, styles, and elements.
let heading = [Link]("h1");
[Link] = "Welcome";
[Link] = "red";
17. Events
Events handle user interactions.
[Link]("click", ()=>{
alert("Button Clicked");
});
18. Forms
JavaScript validates forms.
[Link]("submit", (e)=>{
[Link]();
[Link]("Form Submitted");
});
19. Timers
Timers run code after intervals.
setTimeout(()=>{
[Link]("Hello");
}, 2000);
setInterval(()=>{
[Link]("Running");
}, 1000);
20. Callback Functions
Function passed into another function.
function greet(callback){
[Link]("Hello");
callback();
}
21. Promises
Promises handle asynchronous operations.
let promise = new Promise((resolve, reject)=>{
resolve("Success");
});
[Link]((msg)=>{
[Link](msg);
});
22. Async Await
Cleaner syntax for promises.
async function getData(){
let response = await fetch("[Link]
let data = await [Link]();
[Link](data);
}
23. Fetch API
Fetch data from servers.
fetch("[Link]
.then((res)=>[Link]())
.then((data)=>[Link](data));
24. Local Storage
Save data inside browser.
[Link]("name", "Rahul");
let user = [Link]("name");
25. Session Storage
Temporary browser storage.
[Link]("theme", "dark");
26. Error Handling
Prevent crashes using try catch.
try{
[Link](a);
}
catch(error){
[Link](error);
}
27. ES6 Features
Modern JavaScript features:
- Template Literals
- Destructuring
- Spread Operator
- Rest Operator
- Modules
let name = "Rahul";
[Link](`Hello ${name}`);
28. Destructuring
Extract values easily.
let person = {
name: "Rahul",
age: 20
};
let {name, age} = person;
29. Spread Operator
Copy and merge arrays.
let arr1 = [1,2];
let arr2 = [...arr1, 3,4];
30. Closures
Closure remembers parent variables.
function outer(){
let count = 0;
return function(){
count++;
[Link](count);
}
}
let counter = outer();
counter();
counter();
31. Hoisting
Variables and functions move to top internally.
[Link](a);
var a = 10;
32. this Keyword
this refers to current object.
let person = {
name: "Rahul",
greet: function(){
[Link]([Link]);
}
};
33. Event Loop
JavaScript is single-threaded but handles async tasks using:
- Call Stack
- Web APIs
- Callback Queue
- Event Loop
[Link]("Start");
setTimeout(()=>{
[Link]("Async");
},0);
[Link]("End");
34. Classes and OOP
JavaScript supports Object-Oriented Programming.
class User{
constructor(name){
[Link] = name;
}
greet(){
[Link]([Link]);
}
}
let user = new User("Rahul");
[Link]();
35. Inheritance
One class can inherit another.
class Animal{
speak(){
[Link]("Animal Sound");
}
}
class Dog extends Animal{
}
let dog = new Dog();
[Link]();
36. Modules
Split code into files.
export const name = "Rahul";
import {name} from "./[Link]";
37. JSON
JSON is data format used in APIs.
let user = {
"name": "Rahul"
};
[Link]([Link](user));
38. Regular Expressions
Regex validates patterns.
let pattern = /hello/;
[Link]([Link]("hello"));
39. Debouncing
Limits repeated function calls.
function debounce(fn, delay){
let timer;
return function(){
clearTimeout(timer);
timer = setTimeout(()=>{
fn();
}, delay);
}
}
40. Throttling
Runs function after intervals.
function throttle(fn, delay){
let last = 0;
return function(){
let now = [Link]();
if(now - last >= delay){
last = now;
fn();
}
}
}
41. API Projects
Practice projects:
- Weather App
- Movie App
- Currency Converter
- Notes App
- Chat App
fetch("API_URL")
.then((res)=>[Link]())
.then((data)=>[Link](data));
42. JavaScript Interview Concepts
Most Important Interview Topics:
- Closures
- Hoisting
- Event Loop
- Promise
- Async Await
- this keyword
- Prototype
- Scope
- Execution Context
[Link]("Practice daily");
43. Tripverse Project Roadmap
Use JavaScript in Tripverse:
Level 1:
- Navbar
- Search Bar
- Dynamic Cards
- Dark Mode
Level 2:
- Login System
- Wishlist
- Saved Trips
Level 3:
- Weather API
- Hotel API
- Google Maps
Level 4:
- React
- Backend
- Database
Daily Routine:
1 Hour Theory
1 Hour Logic
2 Hour Projects
44. How to Become Strong in JavaScript
To build strong JavaScript core:
1. Write code daily
2. Build projects
3. Solve errors yourself
4. Avoid tutorial addiction
5. Practice DOM daily
6. Learn async deeply
7. Build real apps
Consistency > Motivation
Final Advice: JavaScript master karne ka best way hai daily coding + projects. Sirf theory se kuch nahi hoga. Build,
break, debug, and repeat.