如何深入解析JavaScript中的let与const声明?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1549个文字,预计阅读时间需要7分钟。
目录- let命令- 基本用法- 特性- 临时性- 不允许重复声明- const特性- 补充块级作用域- let命令- 基本用法- 我们都知道let命令是用来声明变量的,类似于var,但通过let声明的变量只在所声明的代码块内有效。
目录
- let命令
- 基本用法
- 特性
- 暂时性死区
- 不允许重复声明
- const
- 特性
- 补充——块级作用域
let命令
基本用法
我们都知道let命令是用来声明变量的,类似于var,但是通过let命令声明的变量只在所在代码块内有效。
let a = []; for (let i = 0;i < 10; i++ ) { a[i] = function () { console.log(i); } } a[5](); // 5
如上代码所示,使用的是let声明的i,那么这个变量仅在块级作用域内有效,即只在每轮循环内有效,所以每次循环的i其实都是一个新变量,所以最后输出了5。
如果使用了var去申明i,那么这个i是在全局范围内都有效的,函数数组里的i都会指向同一个i,导出最后输出的是最后一轮循环的i的值。
本文共计1549个文字,预计阅读时间需要7分钟。
目录- let命令- 基本用法- 特性- 临时性- 不允许重复声明- const特性- 补充块级作用域- let命令- 基本用法- 我们都知道let命令是用来声明变量的,类似于var,但通过let声明的变量只在所声明的代码块内有效。
目录
- let命令
- 基本用法
- 特性
- 暂时性死区
- 不允许重复声明
- const
- 特性
- 补充——块级作用域
let命令
基本用法
我们都知道let命令是用来声明变量的,类似于var,但是通过let命令声明的变量只在所在代码块内有效。
let a = []; for (let i = 0;i < 10; i++ ) { a[i] = function () { console.log(i); } } a[5](); // 5
如上代码所示,使用的是let声明的i,那么这个变量仅在块级作用域内有效,即只在每轮循环内有效,所以每次循环的i其实都是一个新变量,所以最后输出了5。
如果使用了var去申明i,那么这个i是在全局范围内都有效的,函数数组里的i都会指向同一个i,导出最后输出的是最后一轮循环的i的值。

