for循环中,定义的东西,居然是赋值到了所出的作用域内

for( var i=0 ; i<1 ; i++ ){
    var a=0;
}
console.log(i) // 1
console.log(a) // 0
/*
*不会报错,而是可以直接输出
*/

知道和理解完全是两回事,

知道是我知道ES6之前,只有全局作用域和函数作用域,而我一直没有去理解它

现在终于明白了,理解了,知道为什么ES6中要引入块作用域了。