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。
js当中的声明和初始化的顺序
时间: 2024-10-11 07:40:28