js获取不到全局变量值

2024-11-05 02:15:05
推荐回答(2个)
回答1:

必须的,你在函数func里定义了myname,执行的时候就不会去函数外面查找myname。


这个和javascript解析有关,所有变量都会最先被定义好


func实际上执行起来是像这个样子的:

function func() {
    var myname;//定义变量
    alert(i); // 弹出7
    alert(myname); //myname现在并没有赋值,为undefined
    myname = "local";//现在才正式赋值
    ....
}


你去掉func函数里面的var就能达到你想要的效果了

回答2:

主要是下面的var myname = "local";编译是上面的就不存在了。执行时所以是未定义