** addEventListener**
Definition:
addEventListener attaches an event handler function to an element. The function runs whenever the specified event occurs (like click, input, or keydown).
Why we use it:
- Keeps JavaScript separate from HTML (cleaner than inline onclick).
- Allows multiple event listeners on the same element.
- Supports removing events (removeEventListener).
When to use it:
Whenever you want your code to react to user actions (button clicks, typing, mouseover, scrolling, etc.).
Example:
<button id="btn">Click Me</button>
<script>
const btn = document.getElementById("btn");
btn.addEventListener("click", () => {
alert("Button was clicked!");
});
</script>
** createElement**
Definition:
createElement is used to create a new HTML element dynamically with JavaScript.
Why we use it:
Add new elements without writing them in HTML beforehand.
Useful for dynamic content like to-do lists, shopping carts, chat apps.
When to use it:
When you need to build or insert elements at runtime.
Example:
<ul id="list"></ul>
<script>
const list = document.getElementById("list");
const li = document.createElement("li"); // create <li>
li.textContent = "Learn JavaScript"; // add text
list.appendChild(li); // add to <ul>
</script>
** Hoisting in JavaScript**
Definition:
Hoisting is JavaScript’s behavior of moving declarations to the top of their scope before execution.
Only declarations are hoisted, not initializations.
Hoisted
Function Declarations
sayHello(); // it Works, because function is hoisted
function sayHello() {
console.log("Hello World!");
}
- var Variables (but initialized as undefined)
console.log(x); // (undefined)
var x = 10;
Not Hoisted
Function Expressions
sayHi(); // ( Error)
const sayHi = function() {
console.log("Hi!");
};
let and const Variables (TDZ: Temporal Dead Zone)
console.log(a); //( Error)
let a = 20;
appendChild ()
- It is used to insert a node (like ,
- ,
, etc.) as the last child of a parent element.
- add new elements dynamically to the webpage.
- Helps when building lists, adding items in a cart, inserting chat messages, etc.
- When we first create an element using document.createElement().
- When we want to move an element from one parent to another.
Only one node can be appended at a time.
Why do we use appendChild()
When do we use appendChild?
ex
<ul id="todos"></ul>
<script>
const todos = document.getElementById("todos");
// create a new list item
const li = document.createElement("li");
li.textContent = "Learn JavaScript";
// append it to the <ul>
todos.appendChild(li);
</script>
Top comments (0)