码迷,mamicode.com
首页 > 其他好文 > 详细

用var分散声明变量会出错

时间:2014-12-03 21:06:55      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:io   ar   sp   java   on   bs   cti   代码   ef   

a = "global";
function func () {
  alert(a); // undefined
  var a = "local"; 
  alert(a); // local
}
func();

javascript语言有预编译的过程,在此过程,将所有的var 声明的变量(注意是声明而不是赋值)全部提到 代码块最上边,

虽然 a = "global" 是全局的,但是, 在func()的代码块中,会将var a;提到func() 代码块最上边,同时也会将全局的 a="global"覆盖,

所以,第一个alert输出的是undefined,第二个alert输出的是local

用var分散声明变量会出错

标签:io   ar   sp   java   on   bs   cti   代码   ef   

原文地址:http://www.cnblogs.com/ln0218/p/4141015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!