Last Updated : 20 Aug, 2024
In JavaScript, understanding the difference between global and local variables is important for writing clean, maintainable, and error-free code. Variables can be declared with different scopes, affecting where and how they can be accessed.
Global VariablesGlobal variables in JavaScript are those declared outside of any function or block scope. They are accessible from anywhere within the script, including inside functions and blocks. Variables declared without the var
, let
, or const
keywords (prior to ES6) inside a function automatically become global variables.
However, variables declared with var
, let
, or const
inside a function are local to that function unless explicitly marked as global using window
(in browser environments) or global
(in Node.js).
Local variables are defined within functions in JavaScript. They are confined to the scope of the function that defines them and cannot be accessed from outside. Attempting to access local variables outside their defining function results in an error.
Key Characteristics of Local Variables:Example 1: In this example, we will declare variables in the global scope so that they can be accessed anywhere in the program.
JavaScript
let petName = 'Rocky' // Global variable
myFunction()
function myFunction() {
fruit = 'apple'; // Considered global
console.log(typeof petName +
'- ' +
'My pet name is ' +
petName)
}
console.log(
typeof petName +
'- ' +
'My pet name is ' +
petName +
'Fruit name is ' +
fruit)
string- My pet name is Rocky string- My pet name is RockyFruit name is apple
Explanation: We can see that the variable petName is declared in the global scope and is easily accessed inside functions. Also, the fruit was declared inside the function without any keyword so it was considered global and was accessible inside another function.
Example 2: In this example, we will declare variables in the local scope and try to access them at different scopes.
JavaScript
myfunction();
anotherFunc();
let petName;
function myfunction() {
let petName = "Sizzer"; // local variable
console.log(petName);
}
function anotherFunc() {
let petName = "Tom"; // local variable
console.log(petName);
}
console.log(petName);
Sizzer Tom undefined
Explanation: We can see that the variable petName is declared in global scope but not initialized. Also, the functions are accessing the inner variable where each function has its own value for the variable petName.
Where to use Which VariableNote: Use local variables whenever possible. Always use the var keyword to declare a new variable before the variable is referred to by other statements.
Global and Local variables in JavaScript
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4