如何详细解析JavaScript中的let和const命令及其区别和用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1552个文字,预计阅读时间需要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的值。
本文共计1552个文字,预计阅读时间需要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的值。

