There are two types of scope in JavaScript.
Local scope
Global scope
Also, JavaScript has function scope. Each function creates a new scope.
Scope determines the accessibility of variables. Variables defined inside a function are not accessible from outside the function.
Local Scope Variables
Variables declared within a function become local to the function. So they have have Function scope. They can only be accessed from within the function.
For example,
As we can see in the example above, if we try to access the variable outside of the function scope then it will raise undefined error.
Local variables are only recognized inside functions so variables with the same name can be used in different functions.
In other words, local variables are created when a function starts, and deleted when the function is completed.
Global Scope Variables
A variable is global if its declared outside a function.
All scripts and functions on a web page can access the global variables.
For example,
As we can see in the example above, we can easily access the global variable inside the function.
Can Variables become Global Automatically?
If you assign a value to a variable that has not been declared, it will automatically become a GLOBAL variable.
For example,
As we can see in the example above, we can easily access the variable outside of the function.
NOTE: In “Strict Mode”, undeclared variables are not automatically global. I will talk more about Strict Mode in future blog post.
basics functions Scope