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