当前位置:网站首页>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.5 - 死锁

CWE4.8: The 25 most damaging software security issues in 2022

管理软件开发 管理软件定制开发流程

跨境电商看不到另一面:商家刷单、平台封号、黑灰产牟利

UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s

【2022河南萌新联赛第(四)场:郑州轻工业大学】【部分思路题解+代码解析】

MPLS实验

“如何写好一篇学术论文?”这大概是最详实的一则攻略了!

【服务器数据恢复】Raid阵列更换故障硬盘后数据同步失败的数据恢复案例

先睹为快!界面控件DevExpress WPF这些功能即将发布
随机推荐
VLAN实验
JZ70 矩形覆盖
20 Lectures on Disassembly of Multi-merchant Mall System Functions-Platform Distribution Overview
第十四天笔记
Qt读取Json文件(含源码+注释)
管理软件开发 管理软件定制开发流程
Number 类及各子类所占字节数源码分析
软件成分分析:华为云重磅发布开源软件治理服务
Alibaba "MySQL Growth Manual" Lite Edition
WWW'22 推荐系统论文之序列推荐篇
制胜精细化运营时代 华为应用市场打出内容、场景、商业运营组合拳
MySQL【数据类型】
太帅了!我用炫酷大屏展示爬虫数据!
QueryWrapper method explained
Basic management of system storage -- mounts, partitions, user quotas
关于小程序TabBar跳转页面跟TabBar标签栏的icon不对应的分析(debug)
再见Attention:建模用户长期兴趣的新范式
ROS 之 KUKA iiwa编程
SIGIR'22 推荐系统论文之POI篇
JZ15 二进制中1的个数