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

posted on 2013-06-28 09:23  money@money  阅读(6712)  评论(0编辑  收藏  举报