var tt = 'aa';
function test(){
? ? alert(tt);? //underfined;
? ? var tt = 'dd';
? ? alert(tt);? //dd
}
test();
注:js引擎在執(zhí)行的時(shí)候會(huì)把所有的變量、函數(shù)聲明提升到當(dāng)前作用域的最前面。
所以如上代碼就相當(dāng)于
var tt = 'aa';
function test(){
? ? var tt;//只是聲明但未賦值的變量值為undefined
? ? alert(tt);? //underfined;
? ? ?tt = 'dd';
? ? ?alert(tt);? //dd
}
test();
