JavaScript中var、let、const有何区别及ES6规范下的具体应用?

更新于
2026-09-26 20:06:22
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1182个文字,预计阅读时间需要5分钟。

JavaScript中var、let、const有何区别及ES6规范下的具体应用?

随着ES6规范的发展,JavaScript中定义变量的方法已经从单一的 `var` 方式发展到了 `var`、`let`、`const` 三种。`var` 众所周知,可被全局访问,而 `let` 和 `const` 则具有块级作用域,防止了变量的全局污染。`let` 和 `const` 有什么新特性?何时应该使用呢?下面是小总结:

随着ES6规范的到来,Js中定义变量的方法已经由单一的 var 方式发展到了 var、let、const 三种之多。var 众所周知,可那俩新来的货到底有啥新特性呢?到底该啥时候用呢?下面就是小编总结出的关于javascript中var与ES6规范中let、const区别详解

我们先来絮叨絮叨 var 方式定义变量有啥 bug ?

Js没有块级作用域

请看这样一条规则:在JS函数中的var声明,其作用域是函数体的全部。

for(var i=0;i<10;i++){ var a = 'a'; } console.log(a);

明明已经跳出 for 循环了,却还可以访问到 for 循环内定义的变量 a ,甚至连 i 都可以被放访问到,尴尬~

2.** 循环内变量过度共享 **

你可以猜一下当执行以下这段代码时会发生什么

for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) }, 1000); }

在浏览器里运行一下,看看和你预想的结果是否相同?

没错,控制台输出了3个3,而不是预想的 0、1、2。

阅读全文

本文共计1182个文字,预计阅读时间需要5分钟。

JavaScript中var、let、const有何区别及ES6规范下的具体应用?

随着ES6规范的发展,JavaScript中定义变量的方法已经从单一的 `var` 方式发展到了 `var`、`let`、`const` 三种。`var` 众所周知,可被全局访问,而 `let` 和 `const` 则具有块级作用域,防止了变量的全局污染。`let` 和 `const` 有什么新特性?何时应该使用呢?下面是小总结:

随着ES6规范的到来,Js中定义变量的方法已经由单一的 var 方式发展到了 var、let、const 三种之多。var 众所周知,可那俩新来的货到底有啥新特性呢?到底该啥时候用呢?下面就是小编总结出的关于javascript中var与ES6规范中let、const区别详解

我们先来絮叨絮叨 var 方式定义变量有啥 bug ?

Js没有块级作用域

请看这样一条规则:在JS函数中的var声明,其作用域是函数体的全部。

for(var i=0;i<10;i++){ var a = 'a'; } console.log(a);

明明已经跳出 for 循环了,却还可以访问到 for 循环内定义的变量 a ,甚至连 i 都可以被放访问到,尴尬~

2.** 循环内变量过度共享 **

你可以猜一下当执行以下这段代码时会发生什么

for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) }, 1000); }

在浏览器里运行一下,看看和你预想的结果是否相同?

没错,控制台输出了3个3,而不是预想的 0、1、2。

阅读全文