老师 可不可以 这样理解
来源:4-13 JS解析机制详解
木鱼588
2019-12-25 16:45:54
var a = 1;
function fn(){
console.log(a);
var a = 2;
}
fn();
console.log(a);
fn 函数内部 有一个 var a = 2; 因为 有 var 声明 相当于 在局部作用域 中 栈内存 中 开了一个房间 跟全局变量 var a = 1 没有关系
当 没有 var 时 也就是 a = 2 不会在栈内存中开房间 而是由于作用域链的关系 他会去向上找 房间名为a 也就是 var a
所以 全局变量 var a = 1 就会被覆盖 为 var a = 2
1回答
好帮手慕言
2019-12-25
同学你好,是可以这样理解的。如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题