起因是看到了这张万恶之源,百思不得其解
于是我自己去浏览器里试了一下
var a=0
{
console.log(a,window.a)
a=10
console.log(a,window.a)
function a(){
}
console.log(a,window.a)
a=20
console.log(a,window.a)
}
console.log(a,window.a)
好家伙,还真的是这样。
众所周知,js里有函数声明提升和var变量提升
所以前几个结果不难理解,
但是这个window.a=10
我想