Hoisting cho phép chúng tôi gọi các hàm và biến (được khai báo bằng var) trước khi chúng được xác định bằng cách di chuyển chúng lên đầu phạm vi trước khi bắt đầu thực thi mã.
Sau đây là đoạn mã hiển thị lưu trữ cho các biến và hàm trong JavaScript -
Ví dụ
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result,.sample { font-size: 20px; font-weight: 500; } </style> </head> <body> <h1>Hoisting in JavaScript</h1> <div class="sample"> Calling functions and variables before they are defined </div> <div style="color: green;" class="result"></div> <button class="btn">CLICK HERE</button> <h3> Click on the above button to see hoisting in action </h3> <script> let btnEle = document.querySelector(".btn"); let resEle = document.querySelector(".result"); btnEle.addEventListener("click", () => { resEle.innerHTML = "retString() : " + retString() + "<br>"; resEle.innerHTML += "var a = " + a + "<br>"; try { resEle.innerHTML += "let b = " + b + "<br>"; } catch (err) { resEle.innerHTML += err; } let b = 55; var a = 22; function retString() { return "Hello world"; } }); </script> </body> </html>
Đầu ra
Đoạn mã trên sẽ tạo ra kết quả sau -
Khi nhấp vào nút 'BẤM VÀO ĐÂY' -