首页 > 代码库 > js当中的声明和初始化的顺序

js当中的声明和初始化的顺序

if(!("a" in window)){  var a=1;  }alert(a);

这里的alert出来undefined

这句话就相当于

var a;if(!(“a” in window)){   a=1;  }alert(a);

if块不是作用域 因此var a(变量的声明)会先执行,if当中的条件语句很清楚就是判断a是否是window的属性,由于是if代码段的代码不执行,因为a=1 也就是a的初始化不会执行,因此下面alert的结果会是undefined。