3 ms·
> `var` declares the variable globally" Not quite. var's are hoisted to the top of their most local function. (function(){ (function(){ var x = 12
by mike-cardwell 10y ago
> `var` declares the variable globally"
Not quite. var's are hoisted to the top of their most local function.
(function(){
(function(){
var x = 123;
})();
{
var y = 123;
}
// Here, x is not defined, but y is
})();
// Here, neither x nor y are defined
The above code essentially gets translated to the following:
(function(){
var y;
(function(){
var x;
x = 123;
})();
{
y = 123;
}
// Here, x is not defined, but y is
})();
// Here, neither x nor y are defined