三. 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循环中的例子的主要内容,如果未能解决你的问题,请参考以下文章