全局变量和window上的变量 哪位大神帮讲解一下这个题

2025-04-04 08:31:34
推荐回答(1个)
回答1:

javascript有个特性,叫声明提前,函数内声明的变量会提到最前面,局部变量又覆盖了全局变量,所以就是undefined

c=5;//声明一个全局变量c
function test3(){
var c; //声明提前
window.c=3;
console.log(c); //答案:undefined,原因:由于此时的c是一个局部变量c,并且没有被赋值
//var c;
console.log(window.c);//答案:3,原因:这里的c就是一个全局变量c
}
test3();