本文深入分析 JavaScript 作用域中两个常见易错点:函数内未声明变量隐式成为全局变量,以及 var 声明的变量提升导致 undefined。通过具体代码示例,解析变量在函数内外声明的行为差异,帮助开发者避免潜在 Bug。
函数内隐式全局变量与局部变量区别
1.
代码如下:
function fun()
{
var a="rxm";
b="cwr";
}
alert(a);//错误,a局部变量
alert(b); //"cwr",b全局变量。 变量提升导致的 undefined 现象
2.
代码如下:
var a="rxm";
function fun()
{
alert(a);
var a="123";
alert(a);
}
fun();
alert(a); 输出结果:undefined;123;rxm