for循环并不会独立创建一个作用域和作用域链,因为在for循环里面创建var a = 1;在循环外面仍然可以访问到a,说明for循环里创建的var a是全局变量。继而说明for循环的花括号并没有创建一个独立的作用域
for(var i = 0; i < 5; i++){
var a = 1;
console.log(this)
}
alert(a)//1小白测试,如有高见,直接忽脸!
本文通过一个简单的for循环示例,解释了JavaScript中for循环并不会创建新的作用域这一概念,并展示了如何在循环内部声明变量及其可见性。
for(var i = 0; i < 5; i++){
var a = 1;
console.log(this)
}
alert(a)//1
1361

被折叠的 条评论
为什么被折叠?