for()括号中的变量i是局部变量还是全局变量?

img


请问for()括号中的变量i是局部变量还是全局变量?
是全局变量的话为何下面的函数中的this不可以用as[i]替代?
如果是局部变量的话为何可以直接在for外部就能输出?

var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
所以这个i是可以在for循环外使用的。

var虽然是全局变量但是在函数里,就不能访问,看看下面的例子。
如果想访问就可以用到闭包


 a()
    var b = 10;
    function a() {
        console.log(b)
    }