什么是块范围在JavaScript中有用的真实示例? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是块范围在JavaScript中有用的真实示例? [重复]相关的知识,希望对你有一定的参考价值。

letconst已经为javascript引入了块级范围,我现在明白了它的区别。但我还没有找到一个引人注目的现实世界的例子,其中letvar有优势。

块实际范围在实际中提供了什么(通过示例说明)?

答案

1)它与其他语言的一致性:

使用var时,通常很不清楚变量的定义位置以及我们可以访问它的位置,而不是:

 if(false) {
    var a = 1;
 } else {
    a = 2; // wtf
 }
 alert(a);

随着let显而易见:

let a;
if(false) { a = 1; } else { a = 2; }

2)它允许在for循环中有用的闭包:

 for(var i = 0, i < 10; i++)
   setTimeout(() => console.log(i), 100);
   // 10 10 10 10 ...

 for(let i = 0, i < 10; i++)
   setTimeout(() => console.log(i), 100);
   // 0 1 2 3 4 5 6 ...

以上是关于什么是块范围在JavaScript中有用的真实示例? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

一阶逻辑统一的真实世界示例?

使用单元结构的真实示例是啥?

什么是块级作用域,为什么说js没有块级作用域

前端之JavaScript面向对象开发

前端之JavaScript面向对象开发

javascript 有用的JS代码示例(跟踪等)