当前位置:网站首页>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不可以重复声明,所以会报错
边栏推荐
猜你喜欢
随机推荐
2.6 - 进程资源
微信小程序:Framework inner error FLOW_CREATE_NODE
管理软件开发 管理软件定制开发流程
IJCAI'22 推荐系统论文梳理
快速搞懂Seata分布式事务AT、TCC、SAGA、XA模式选型
8大软件供应链攻击事件概述
系统存储的基本管理--挂载,分区,用户配额
坚持自主创新 线控底盘领军企业英创汇智获数亿元B+轮融资
2022 年值得尝试的 7 个 MQTT 客户端工具
【wpf】ListView 和 ItemsControl 的一点区别
2.3 - P、V、S机制
博世「求援」,毫米波雷达重构
暴力破解美团最新JVM面试题:无限执行
System delay tasks and scheduled tasks
WWW'22 推荐系统论文之序列推荐篇
矢量图的作用与工具
阿里巴巴《MySQL成长手册》精简版
【暑期集训第一周:搜索】【DFS&&BFS】
不平衡之钥: 重加权法知几何
想要白嫖正则是吧?这一次给你个够!









