Scope determines the accessibility (visibility) of variables. Show Nội dung chính
JavaScript has 3 types of scope:
Block ScopeBefore ES6 (2015), JavaScript had only Global Scope and Function Scope. ES6 introduced two important new JavaScript keywords: These two keywords provide Block Scope in JavaScript. Variables declared inside a { } block cannot be accessed from outside the block: Example { Variables declared with the Variables declared inside a { } block can be accessed from outside the block. Example { Local ScopeVariables declared within a JavaScript function, become LOCAL to the function. Example// code here can NOT use carName function myFunction() { // code here can NOT use carName Try it Yourself » Local variables have Function Scope: They can only be accessed from within the function. Since local variables are only recognized inside their functions, variables with the same name can be used in different functions. Local variables are created when a function starts, and deleted when the function is completed. Function ScopeJavaScript has function scope: Each function creates a new scope. Variables defined inside a function are not accessible (visible) from outside the function. Variables declared with They all have Function Scope: function myFunction() { function myFunction() { function myFunction() { Global JavaScript VariablesA variable declared outside a function, becomes GLOBAL. Example let carName = "Volvo"; function
myFunction() { Try it Yourself » A global variable has Global Scope: All scripts and functions on a web page can access it. Global ScopeVariables declared Globally (outside any function) have Global Scope. Global variables can be accessed from anywhere in a JavaScript program. Variables declared with They all have Global Scope: var x = 2; // Global scope let x = 2; // Global scope const x = 2; // Global scope JavaScript VariablesIn JavaScript, objects and functions are also variables. Scope determines the accessibility of variables, objects, and functions from different parts of the code. Automatically GlobalIf you assign a value to a variable that has not been declared, it will automatically become a GLOBAL variable. This code example will declare a global variable ExamplemyFunction(); // code here can use carName function myFunction() { Try it Yourself » Strict ModeAll modern browsers support running JavaScript in "Strict Mode". You will learn more about how to use strict mode in a later chapter of this tutorial. In "Strict Mode", undeclared variables are not automatically global. Global Variables in HTMLWith JavaScript, the global scope is the JavaScript environment. In HTML, the global scope is the window object. Global variables defined with the Global variables defined with the Example let carName = "Volvo"; Try it Yourself » WarningDo NOT create global variables unless you intend to. Your global variables (or functions) can overwrite window variables (or functions). The Lifetime of JavaScript VariablesThe lifetime of a JavaScript variable starts when it is declared. Function (local) variables are deleted when the function is completed. In a web browser, global variables are deleted when you close the browser window (or tab). Function ArgumentsFunction arguments (parameters) work as local variables inside functions. |