JavaScript variable Promotion
1, first run the following code to see the results
var v= ' Hello World ';
Alert (v);
var v= ' Hello World ';
(function () {
Alert (v);
})()
var v= ' Hello World ';
(function () {
Alert (v);
var v= ' I love you ';
})()
Parsing: The JavaScript language has a function-level scope (only the function creates a new scope). Variable promotion, as the name implies, is to promote the variable to the top position of the function, but notice that the variable promotion is only for the declaration of Ascension, and does not raise the value of the row,
Therefore, the above code is equivalent to: (because the V declaration is not assigned, so alert out underfined)
var v = "Hello world";
(function () {
var V;
Alert (v);
v= "I Love You";
}
Two: function promotion
function promotion, as the name implies, is to refer to the entire function before. In JS, there are two types of functions: one: function expression; two: function declaration; It is important to note that only function declarations can be promoted.
1, function declaration (can be promoted)
function MyTest () {
Foo ();
function foo () {
Alert ("I'm from Foo");
}
}
MyTest ();
2, function expression (cannot be promoted, error Foo is not a function)
function MyTest () {
Foo ();
var foo =function foo () {
Alert ("I'm from Foo");
}
}
MyTest ();
JavaScript variable Promotion