use*_*508 5 javascript scope hoisting
调用构造函数a时,'a'的值似乎失去了全局范围.
var a = 6;
function b() {
a = 10;
function a() {}
console.log(a); //10
}
b();
console.log(a); //6
Run Code Online (Sandbox Code Playgroud)
由于可变提升,订单解释如下所示.请注意,正如@ShadowCreeper正确指出的那样,function a(){}实际上是a在函数b中创建一个局部变量,该变量被挂起,如下所示.
var a;
var b;
a = 6;
b = function() {
var a;
a = function(){};
a = 10;
console.log(a); //10
}
b();
console.log(a); //6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |