javascript中变量没有块级作用域---函数内申明的变量在整个函数中都有效!
代码:
原因很简单: 由于内部变量g 在函数内部处处有效,在执行第一个alert(g)的时候,已经var了这个局部变量,但还没赋初值,因此会输出undefined
var g = "a"
function test()
{
alert(g); //输出"undefined",而不是"a"
var g = "local";
alert(g) //输出local
}
function test()
{
alert(g); //输出"undefined",而不是"a"
var g = "local";
alert(g) //输出local
}
原因很简单: 由于内部变量g 在函数内部处处有效,在执行第一个alert(g)的时候,已经var了这个局部变量,但还没赋初值,因此会输出undefined