三. var let const的理解 以及 立即执行函数中的使用 以及 for循环中的例子

Posted wangrong-smile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三. var let const的理解 以及 立即执行函数中的使用 以及 for循环中的例子相关的知识,希望对你有一定的参考价值。

一. 立即执行函数

windows中有个name属性,name=‘‘ ‘‘

var

如果我们用var name 去声明,那就会改变windows中name的值(因为我们不是在函数作用域中声明的,所以会覆盖全局的值)

技术图片

 

为了避免这种问题,通常我们写一个立即执行函数(可读性不高)

技术图片

 

 

const

同样,如果我们用const去声明,也会改变全局的name属性

技术图片

 

我们把const声明写在大括号里面,就不会改变全局的name属性了

技术图片

 

 

 二. for循环

常见的for循环,console.log(i) 会输出10,why? 这是因为 i 是通过 var 来声明的,是一个全局变量,每次循环都会重写这个变量 i 

技术图片

 

通常我们会在for循环中 进行ajax 请求,这边用setTimeout来模拟,1s后执行,会发现打印了10 打印了10次,why? 因为setTimeout执行的时候,for循环已经结束了

技术图片

 

为了有效的解决上述问题,我们把var 改成 let ,这样就有效的解决了我们的问题了,因为 let 是块级作用域

技术图片

 

 要注意的是:不能使用const去声明,因为const是常量

技术图片

 

以上是关于三. var let const的理解 以及 立即执行函数中的使用 以及 for循环中的例子的主要内容,如果未能解决你的问题,请参考以下文章

小程序里let和var以及const区别

请问微信小程序let和var以及const有什么区别

var / let / const

[基础]JavaScript中对var/let/const的理解和总结

JS 的三种定义变量 var let const

深入理解ES6 - var-let-const