十号

vuePress-theme-reco 十号    2022
十号

Choose mode

  • dark
  • auto
  • light
主页
分类
  • 《小狗钱钱》
  • 浏览器
  • Docker
  • note
  • 微前端
  • javascript
  • React
  • 工具
  • 工具函数
  • vue
TimeLine
简介

十号

20

Article

19

Tag

主页
分类
  • 《小狗钱钱》
  • 浏览器
  • Docker
  • note
  • 微前端
  • javascript
  • React
  • 工具
  • 工具函数
  • vue
TimeLine
简介

javascript Categories

vuePress-theme-reco 十号    2022
  • 《小狗钱钱》 7
  • 浏览器 1
  • Docker 1
  • note 7
  • 微前端 1
  • javascript 1
  • React 3
  • 工具 1
  • 工具函数 1
  • vue 2
从3个for循环代码来理解javascript变量声明

前情提要

在逛技术社区的过程中遇到这么一个问题:第一个for循环为什么只输出一次呢?看了题主贴的代码后,觉得比较简单所以就回答了一下。回答完之后就萌生了水一篇文章的想法。
注:内容比较简单,如果喜欢点个赞,不喜勿喷。欢迎在评论区内交流。如果本人观点有错误的地方,恳请大佬多多指点,感谢🙏。

# 3个考验js基本功的for循环

先来看第一个for循环:

for (var i =0; i < 3; i++) {
  var i = 3;
  console.log(i)
}
1
2
3
4

思考一下,这段代码中,会打印几次?打印的内容分别是多少?

答案是只打印一次,打印的内容是 3。那么为什么会这样呢?其实是js的变量提升机制导致的。至于代码的详细执行步骤,后续给出。这里先不急,再来看第二个for循环。

for (var i =0; i < 3; i++) {
  const i = 3;
  console.log(i)
}
1
2
3
4

思考一下,这段代码中,会打印几次?打印的内容分别是多少? 答案是打印3次,打印内容都是3。那么,这又是为什么呢?只是换了一个关键字来声明变量。竟有如此之区别?其实const声明的变量在代码块中有作用域,并且不存在变量提升机制。如果在const声明之前去使用该变量会导致js报错(阮一峰es6中讲的暂时性死区)。

十号 2022-07-14 javascriptjs
Prev 1 ... 1 ... 1 Next Jump To Go