首页 > 代码库 > js中变量提升

js中变量提升

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‘;
})() 

js中变量提升