var a=1;
function fn1(){alert(a);var a=2;}
fn1();
alert (a);
先回谈出:未定义;
后探出 :1;
因为在FN1函数里面没有定义a所以开始探出未定义,在函数里面修改a不会影响全局变量。所以第二次探出全局变量a=1;
/*
var a = 1;
function fn1(a){
alert(a); // undefined
a = 2;
}
fn1();
alert(a); // 2
/*
var a = 1;
function fn1(a){
alert(a); // undefined
a = 2;
}
fn1();
alert(a); // 1
var a = 1;
function fn1(a){
alert(a); // 1
a = 2;
}
fn1(a);
alert(a); // 1
*/