V

“var”和“let”关键字之间的区别?

2025-06-07

“var”和“let”关键字之间的区别?

这篇文章将是一系列小文章中的第一篇,这些文章将涵盖您在求职面试中可能会遇到的一些问题。

我将更加专注于 JavaScript,但将来也会有一些关于 HTML、CSS 和 React JS 的帖子!

好的,我们开始吧!

差异 1!

“var”从一开始就在 JavaScript 中引入,而“let”是在 ES2015/ES6 中引入的。

差异 n 2!

“Let”具有块作用域,而“var”具有函数作用域

让我们看看这个例子

let x = function() {

  if(true) {
    var v = 2;
    let l = 1;
  }

  console.log(v);
  --> 2
  console.log(l);
  --> Uncaught Reference: l is not defined
}

x();

由于“var”关键字的函数作用域,变量 v 的 console.log 将返回 2,而由于“let”关键字的块作用域,变量 l 将返回错误

差异 n 3!

用“var” 定义的变量会被提升到函数的顶部,而用“let”定义的变量 不会被提升

let x = function() {

  if(true) {
    console.log(v);
    --> undefined
    console.log(l);
    --> Uncaught Reference: l is not defined

    var v = 2;
    let l = 1;
  }
}

x();

在这种情况下,变量 v 将返回未定义,而 l 变量将返回错误,发生这种情况是因为使用var 的声明被提升/提升到其功能/本地范围的顶部(如果在函数内部声明)或其全局范围的顶部(如果在函数外部声明),无论实际声明在哪里进行。

就是这样!没有什么太复杂的,但重要的是要记住这些概念。

很快会看到更多提示!

文章来源:https://dev.to/nunocpnp/differences- Between-var-and-let-keywords-2b85
PREV
我如何在三天内成为 Scrum Master 认证 Scrum 是什么?我的流程 考试技巧 总结
NEXT
使用 Docker 一次性运行 React 和 Node.js!