当前位置:网站首页>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不可以重复声明,所以会报错
边栏推荐
猜你喜欢
随机推荐
一文搞懂│php 中的 DI 依赖注入
tiup mirror sign
20 Lectures on Disassembly of Multi-merchant Mall System Functions-Platform Distribution Overview
智能座舱供应链的“新主角”
redis学习四redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
Apache的管理及web优化
MySQL-4-常规概念
从幻核疑似裁撤看如何保证NFT的安全
CWE4.8:2022年危害最大的25种软件安全问题
不平衡之钥: 重加权法知几何
VLAN实验
【[SCOI2005] 互不侵犯】【状压DP(含概念讲解)】
QueryWrapper方法解释
先睹为快!界面控件DevExpress WPF这些功能即将发布
制胜精细化运营时代 华为应用市场打出内容、场景、商业运营组合拳
【学术相关】北大一研究生偷取同门师妹论文发表,作者却挂名给了武大 3 位不知情的学生......
Alibaba "MySQL Growth Manual" Lite Edition
策略路由下发
AI智能剪辑,仅需2秒一键提取精彩片段
Qt reads Json files (including source code + comments)









