Scope — Complete Guide
Scope — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of JavaScript Tutorial on Toolliyo Academy.
On this page
JavaScript Tutorial · Lesson 8 of 100
Scope
Basics → Objects & data → Async & DOM → Advanced → Tools → Projects
Beginner · 1 — Learn by example · ~6 min · JS Tutorial — Basics
What is this?
Scope means where a variable name is visible. Code inside a function usually cannot see variables declared inside another function unless you pass them in or return them.
Why should you care?
Good scope stops name collisions — two functions can both use i in loops without breaking each other.
See it live — copy this example
Paste into an HTML file or the browser console (F12). Use Run below when the live editor is available.
let globalMsg = "outside";
function greet() {
let localMsg = "inside function";
console.log(globalMsg);
console.log(localMsg);
}
greet();
// console.log(localMsg); // Error — not in scope
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- globalMsg is in the outer scope.
- localMsg exists only inside greet().
- Uncommenting the last line causes ReferenceError.
Practice next
- Run greet() and see both messages print.
- Uncomment console.log(localMsg) and read ReferenceError.
- Add a nested function inside greet that reads localMsg.
- Shadow globalMsg with a local let globalMsg inside greet.
- Move localMsg to outer scope and show it is visible everywhere below.
Remember
Variables declared inside { } are block-scoped with let/const Functions create their own scope Avoid polluting the global scope
ScriptVerse analytics helper
Each chart module keeps private counters inside functions instead of polluting window with temp variables.
Outcome: Proper scope prevents name collisions when many scripts load on one dashboard page.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!