js获取不到全局变量值
(function(){varmyname="global";//全局变量vari=7;alert(myname);functionfunc(){alert(i);//弹...
(function(){
var myname = "global"; // 全局变量
var i=7;
alert(myname);
function func() {
alert(i); // 弹出7
alert(myname); //获取不到全局变量值
var myname = "local";
alert(myname); // "local"
}
func();})();
第7行怎么获取不到“global”,这不是全局变量吗, 第六行却能有值呢 展开
var myname = "global"; // 全局变量
var i=7;
alert(myname);
function func() {
alert(i); // 弹出7
alert(myname); //获取不到全局变量值
var myname = "local";
alert(myname); // "local"
}
func();})();
第7行怎么获取不到“global”,这不是全局变量吗, 第六行却能有值呢 展开
2个回答
展开全部
必须的,你在函数func里定义了myname,执行的时候就不会去函数外面查找myname。
这个和javascript解析有关,所有变量都会最先被定义好
func实际上执行起来是像这个样子的:
function func() {
var myname;//定义变量
alert(i); // 弹出7
alert(myname); //myname现在并没有赋值,为undefined
myname = "local";//现在才正式赋值
....
}
你去掉func函数里面的var就能达到你想要的效果了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |