日期:2014-05-16  浏览次数:20394 次

变量作用域问题。。
JScript code


var str = "out";

function test(){
 alert(str); 
 var str = "in";
}

test();




为何弹出“undefined”,而不是“out”呢?

就这么点分了,希望指点。

------解决方案--------------------
因为js是先定义后执行的,你的代码等价于
JScript code
    var str = "out";
    function test(){
        var str;
        alert(str); 
        str = "in";
    }
    test();

------解决方案--------------------
之前是有帖子讨论过,你这样写法是相当于:

JScript code
var str = "out";

function test(){
 var str; 
 alert(str); 
}

test();

------解决方案--------------------
javascript 预编译 作用域