javascript - 什么是块作用域在 JavaScript 中有用的真实示例?
问题描述
let
并const
在 JavaScript 中引入了块级作用域,现在我明白了其中的区别。但是我还没有找到一个令人信服的现实世界的例子,let
它比var
.
块范围在实际中提供什么(通过示例说明)?
解决方案
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 ...
推荐阅读
- angular - 错误:ngcc 已经在 id 为 14828 的进程中运行
- angular - Angular 表单在不同组件中的工作方式不同
- authentication - 令牌身份验证 - 启用或禁用匿名身份验证
- r - mapply 错误:“length.out”必须是非负数
- r - 使用 R [文本分析] [n-gram] 组合相似的字符串
- python - 如何读取文本文件中的特定单词?
- r - 在 R 中将 .CSV 文件添加为 Excel 表格
- amazon-web-services - 用于检查资源标签的 Clarity Terraform 测试
- r - 使用 rjags 包的 R 中 Weibull AFT 贝叶斯生存模型中的时变协变量
- ansible - 如何过滤删除json_query中的方括号?