1 var v='Hello World'; 2 (function(){ 3 alert(v); 4 var v='I love you'; 5 })()
會出現alert出來的是undefined,原因是因為在函數域里定義一個和外部變量一樣名稱的變量時,變量的聲明會提升至第一句,賦值則不會變。所以上述語句其實是這樣執行的
var v='Hello World'; (function(){ var v; alert(v); v='I love you'; })()
我的博客:www.while0.com
我的博客:www.shishangguan.net