javascript中变量没有块级作用域---函数内申明的变量在整个函数中都有效!

代码:
var g = "a"
function test()
{
    alert(g);   
//输出"undefined",而不是"a"
    var g =  "local";
    alert(g)   
//输出local
}


原因很简单: 由于内部变量g 在函数内部处处有效,在执行第一个alert(g)的时候,已经var了这个局部变量,但还没赋初值,因此会输出undefined
posted @ 2008-02-01 15:48  jacktu  阅读(454)  评论(2编辑  收藏  举报