为什么 b in window 是true呀,if中的var b是可以在全局找到吗?
这个属于使用var声明变量的特性:1、var声明的变量的作用域是函数作用域;2、声明提升,即var声明的变量,会把变量声明提升到函数作用域的顶部所以可以在window中找到
等价于var b;if(!(b in window))b=1console.log(b)
调用之后变量随即被销毁,所有b为undefined
变量提升 现在window终时声明 没有进入判断条件 结果 undefined