当前位置:网站首页>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不可以重复声明,所以会报错
边栏推荐
猜你喜欢
机械臂速成小指南(十五):线性规划
Apache management and web optimization
“绿色低碳+数字孪生“双轮驱动,解码油气管道站升级难点
【学术相关】北大一研究生偷取同门师妹论文发表,作者却挂名给了武大 3 位不知情的学生......
Reed-Solomon Codes——RS纠错码
记一次内部分享——瞎扯淡
VLAN实验
Basic management of system storage -- mounts, partitions, user quotas
机械臂速成小指南(十四):多项式插值轨迹规划
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
随机推荐
【学术相关】北大一研究生偷取同门师妹论文发表,作者却挂名给了武大 3 位不知情的学生......
动态权重之多任务不平衡论文 (一)
关于小程序TabBar跳转页面跟TabBar标签栏的icon不对应的分析(debug)
防抖节流(后续继续更新)
机械臂速成小指南(十七):直线规划
想要白嫖正则是吧?这一次给你个够!
2022 年值得尝试的 7 个 MQTT 客户端工具
Qt | 关于QPalette的使用
MySQL-1-环境部署
tiup mirror publish
CWE4.8: The 25 most damaging software security issues in 2022
24、wpf之布局(二)
从幻核疑似裁撤看如何保证NFT的安全
【[SCOI2005] 互不侵犯】【状压DP(含概念讲解)】
GFP-GAN学习笔记
IJCAI'22 推荐系统论文梳理
06-线程池(3大方法、7大参数,4种拒绝策略)
美团面试:如何设计一个注册中心?
多商户商城系统功能拆解20讲-平台端分销概况
JZ15 二进制中1的个数