js里没有块级作用域

问题:定义在for循环或if{var x}里面的变量是否能在for循环之外访问到??

for (var i = 0; i < 10; i ++){   
  var color = "red";
}
console.log(i,color)//10,red

答案是肯定能访问到 变量i和color;
因为在js里是没有块级作用域的,写在花括号{}里面是代码块, 而js里没有块级作用域的概念,所以在代码块依然可以访问到代码块里面的变量。
下面这个写法和上面的效果是一样的。。自行对比一下啊

var color = "red";
for (var i = 0;i < 10; i ++){

}
console.log(i,color)//10,red

前几天被人问到这个问题,差点狗带了。。正天在用for循环,却不知道这个问题??我要面壁思过了。。
要想装的一手好逼,还要刻苦努力学习啊。。切记!!切记!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容