JS的混乱+我的迷糊,整个世界都天旋地转了。
1.先来一个貌似是正常的:
//全局变量
var str = 'abc';
function varTest()
{
//局部变量
var str = 'xxx';
alert(str);
}
alert(str);//abc
varTest();//xxx
alert(str);//abc2.再来一个,不可思议的:[这个和上面的唯一区别之处就是局部变量没有加var]
//全局变量
var str = 'abc';
function varTest()
{
//局部变量
str = 'xxx';
alert(str);
}
alert(str);//abc
varTest();//xxx
alert(str);//xxx全局变量可以不声明var,
函数内变量必须声明var,
在定义全局变量时加或不加var关键字没什么影响;
但在定义局部变量时如果不加var关键字
javascript解释程序会将其解释为全局变量
本文通过两个示例对比展示了在JavaScript中,全局变量与局部变量的声明方式如何影响其作用域及可见性。特别是强调了在函数内部声明变量时使用var关键字的重要性。
1万+

被折叠的 条评论
为什么被折叠?



