【问题标题】:What's the difference between var and let? [duplicate]var 和 let 有什么区别? [复制]
【发布时间】:2019-06-25 09:12:47
【问题描述】:

JavaScript 的 MDN tutorial 表示

回到最初的 JavaScript 创建时,只有var。在大多数情况下,这基本上可以正常工作, 但它的工作方式存在一些问题——它的设计有时可以 令人困惑或非常烦人。所以,let 是在现代创建的 JavaScript 版本,一个用于创建变量的新关键字 与var 的工作方式有些不同,在此过程中解决了它的问题。

它继续说

出于这些原因以及更多原因,我们建议您尽可能多地使用let 可能在您的代码中,而不是 var。没有理由使用var, 除非您需要支持旧版本的 Internet Explorer 代码(直到版本 11 才支持 let;现代 Windows Edge 浏览器支持 let 就好了)。

我正在查看 templatestutorials 中的 JavaScript 代码,并且几乎普遍地,我看到 var 用于初始化变量。

varlet 之间的差异是否被夸大了?

【问题讨论】:

  • 不,差异绝对没有被夸大。 let 有点新,所以 2015 年左右之前的任何教程都会使用 var
  • 而且为了通用能力,很多教程继续使用var,因为惯性。任何最近的教程都应该至少使用let,在适当的时候最好使用const——但是当教程是关于XYZ时,经常关注var vs. let vs. const迷失在洗牌中。
  • 你鼓励初学者坚持使用let吗?我发现var 在我输入重新定义可能已创建或尚未创建的变量的 JS 命令时很有用。
  • 不应该真的定义了一个可能已经定义也可能没有定义的变量。这违背了首先定义变量的目的。这样你也可以使用全局变量。所以,是的 let 被鼓励至少让你正确地构建你的声明。在实际代码中,var 在一些非常奇怪的情况下几乎没有任何优势,您可能只是重新构建代码结构。

标签: javascript var let


【解决方案1】:

Var 的作用域更大,然后 let let 仅在声明它的块中有效。 尝试添加 10 个循环输出数字的点击处理程序,您将很快看到差异

【讨论】:

    猜你喜欢
    • 2022-07-21
    • 2015-08-12
    • 2010-10-20
    相关资源
    最近更新 更多