Global and Local variables in JavaScript (original) (raw)

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 Variables

Global 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).

Key Characteristics of Global Variables:

**Local Variables

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:

**How to use 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)

`

Output

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);

`

Output

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 Variable

**Note: Use local variables whenever possible. Always use the var keyword to declare a new variable before the variable is referred to by other statements.