当前位置:网站首页>let块级作用域,var变量提升
let块级作用域,var变量提升
2022-08-02 15:34:00 【小芒QVQ】
在Es6之后新增了let声明变量,使用let声明变量不会变量提升,在重复声明变量时和var不一样,let会报错(js新手自己记的笔记,有不对的地方欢迎指正QAQ)
案例1:
let li = document.getElementsByTagName('li')
let len = li.length
for (let i = 0; i < len; i++) {
li[i].addEventListener('click', function () {
console.log(i + 1);
}, false)
}//假设html中有四个li元素,在使用let声明变量时,输出结果是1,2,3,4
let li = document.getElementsByTagName('li')
let len = li.length
for (var i = 0; i < len; i++) {
li[i].addEventListener('click', function () {
console.log(i + 1);
}, false)
}//假设html中有四个li元素,在使用let声明变量时,输出结果是4,4,4,4
上例中,使用var声明会形成闭包,在外部的for执行完毕之后内部的function才开始执行
案例2:
let a = 1; var a = 2; //报错,var声明有变量提升作用
var会变量提升,let不可以重复声明,所以会报错
边栏推荐
猜你喜欢
随机推荐
tiup mirror rotate
博世「求援」,毫米波雷达重构
Anti-shake throttling (continue to update later)
记一次内部分享——瞎扯淡
已经2022下半年了,居然还在说链动2+1!
矢量图的作用与工具
IJCAI'22 推荐系统论文梳理
MySQL-3-密码破解
dogs vs cats 二分类问题vgg16迁移学习
【2022河南萌新联赛第(四)场:郑州轻工业大学】【部分思路题解+代码解析】
类的比较大小(Comparable -> compareTo(类自己实现接口),Comparator -> compare(新建一个类作为比较器))
Break the stereotype, DIY is your own unique mall
CWE4.8: The 25 most damaging software security issues in 2022
想要白嫖正则是吧?这一次给你个够!
Why do I no longer recommend the enumeration strategy pattern?
QueryWrapper method explained
暴力破解美团最新JVM面试题:无限执行
【[NOI2001] 炮兵阵地】【状压DP】
Thinkpad E430c使用u盘安装系统
DC-DC选型及电路设计









