当前位置: 首页 > news >正文

【ES】笔记-let 声明及其特性

let 声明及其特性

  1. 声明变量
    • 变量赋值、也可以批量赋值
        let a;let b,c,d;let e=100;let f=521,g='iloveyou',h=[];
  1. 变量不能重复声明
         let star='罗志祥';let star='小猪';

在这里插入图片描述

  1. 块级作用域,let声明的变量只在块级作用域内有效
        {let girl='周杨青';}console.log(girl)

注意:在 if else while for 中使用let都是块级作用域
在这里插入图片描述

  1. 不存在变量提升

使用var(存在变量提升)

	console.log(girl);var  girl = "小刘同学"// 打印结果:undefined

使用let(不存在变量提升)

 	console.log(girl);let  girl = "小刘同学"// 报错:ncaught ReferenceError: Cannot access 'girl' 

注:变量提升就是在变量创建之前使用(比如输出:输出的是默认值),let不存在,var存在

  1. 不影响作用域链
        {let school='德仔同学';function fn(){console.log(school);}fn();// 打印结果:小刘同学}

注:作用域链是代码块内有代码块,跟常规编程语言一样,上级代码块中的局部变量下级可用

  1. let使用案例:
    html代码
   <style>.item {width: 100px;height: 50px;border: solid 1px rgb(42, 156, 156);float: left;margin-right: 10px;}</style><body><div class="container"><h2 class="page-header">let案例:点击div更改颜色</h2><div class="item"></div><div class="item"></div><div class="item"></div></div></body>

JavaScript代码

// 获取class名为item的元素
let items = document.querySelectorAll(".item")// 遍历绑定元素
for(let i=0;i<items.length;i++){items[i].onclick = function(){// 修改当前元素的背景颜色// 写法一// this.style.background = 'pink'// 写法二:items[i].style.background = "pink"}
}

写法二注意事件
在for循环是使用的 i 必须要使用let声明
如果使用var就会报错(原因:var是全局变量)
经过循环之后i的值会变成3,items[i]就会下表越界
let是局部变量
我们要知道点击的时候 i 是那个值

   //使用var相当于是:{ var i = 0; }{ var i = 1; }{ var i = 2; }{ var i = 3; }// 下面的声明会将上面的覆盖掉,所以点击事件每次找到的都是3// 而使用let使用var相当于是:{ let i = 0; }{ let i = 1; }{ let i = 2; }{ let i = 3; }// 由于let声明的是局部变量,每一个保持着原来的值// 点击事件调用的时候拿到的是对应的 i

总结:let声明的变量更加规范合理,尽量使用let来声明和使用变量

相关文章:

【ES】笔记-let 声明及其特性

let 声明及其特性 声明变量 变量赋值、也可以批量赋值 let a;let b,c,d;let e100;let f521,giloveyou,h[];变量不能重复声明 let star罗志祥;let star小猪;块级作用域&#xff0c;let声明的变量只在块级作用域内有效 {let girl周杨青;}console.log(girl)注意&#xff1a;在 i…...

wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,

wps 预加载项插件本地开发启动项目打开wps 客户端&#xff0c;未看到加载项菜单&#xff0c;请检查本地c盘安装目录下“jsplugins.xml”信息是否添加成功 如下图 name 插件项目 url 本地插件运行地址及端口 <jsplugins><jspluginonline name"wps-soft-copyright…...

uni-app开发微信小程序经常遇到的一些问题及解决方案

1.如何获取用户信息&#xff1f; 可以使用uni.getUserInfo接口获取用户信息。需要用户授权。 2.如何实现下拉刷新&#xff1f; 可以使用uni-app提供的页面组件内置下拉刷新功能&#xff0c;也可以自定义下拉刷新组件。 3.如何实现上拉加载更多&#xff1f; 可以在页面onReachBo…...

一个 git 仓库下拥有多个项目的 git hooks 配置方案

前言 通常情况下&#xff0c;一个 git 仓库就是一个项目&#xff0c;只需要配置一套 git hooks 脚本就可以执行各种校验任务。对于 monorepo 项目也是如此&#xff0c;monorepo 项目下的多个 packages 之间&#xff0c;它们是有关联的&#xff0c;可以互相引用&#xff0c;所以…...

钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口

钉钉对接打通金蝶云星空获取流程实例列表详情&#xff08;宜搭&#xff09;接口与其他应收单接口 对接系统钉钉 钉钉&#xff08;DingTalk&#xff09;是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台&#xff0c;提供PC版&#xff0c;Web版和手机版&#xff0c;有考…...

用python做一个小项目,python做简单小项目

大家好&#xff0c;本文将围绕用python做一个小项目展开说明&#xff0c;python做简单小项目是一个很多人都想弄明白的事情&#xff0c;想搞清楚python入门小项目需要先了解以下几个事情。 来源丨网络 经常听到有朋友说&#xff0c;学习编程是一件非常枯燥无味的事情。其实&…...

输入筛选框搜索

文章目录 输入筛选框实现效果图需求前端工具版本添加依赖main.js导入依赖 代码 后端代码对应 sql对应 mapper.xml 文件的动态 sql 输入筛选框实现 效果图 需求 通过筛选框&#xff0c;选择公司&#xff0c;传入后端&#xff0c;后端根据公司名称去文章的内容中进行模糊查询 …...

公司植物日常护养方法备忘录

植物为我们净化空气&#xff0c;美化环境&#xff0c;我们要按照科学的经验照顾好它们。公司植物日常通用护养方法如下&#xff1a; 首先剪掉已经枯黄的部分。 需要晒太阳的植物按时搬到外面晒太阳&#xff0c;每次晒1到2个小时。 所有植物统一在每个月的20号左右施肥一次&am…...

小红书JAVA后端一面汇总总结

小红书 2 年社招 Java 后端一面的面经,面试的风格是从一个知识一层一层深入问到底层。 从 Java IO,问到 socket 底层。从 Java 内存,问到操作系统内存。所以学习知识的时候,不要只 看八股文,还是需要从点到面一层层去掌握, 才能比较好应对这类的面试场景。 问题记录 自我…...

【图论】强连通分量进阶

一.作用 强连通分量可以判断环和进行缩点。还有一系列作用.... 这篇文章介绍缩点 二.题目 https://www.luogu.com.cn/problem/P2341 三.思路 我们分析可以知道当一个点没有出度时&#xff0c;则为最受欢迎的牛。但如果有多个出度&#xff0c;则没有最受欢迎的牛。 这是只有…...

perl GetOptions

在Perl中&#xff0c;你可以使用标准模块Getopt::Long来解析命令行选项&#xff08;Command Line Options&#xff09;。Getopt::Long模块允许你定义命令行选项以及它们的值&#xff0c;并且还可以处理各种类型的选项&#xff0c;如标志选项&#xff08;flag options&#xff0…...

QGIS下载谷歌地图或者其他地图

QGIS安装Welcome to the QGIS project! 打开QGIS 添加图源 Google_Maps: https://mt1.google.com/vt/lyrsr&x{x}&y{y}&z{z} Google_Terrain: https://mt1.google.com/vt/lyrst&x{x}&y{y}&z{z} Google_Roads:https://mt1.google.com/vt/lyrsh&x{x…...

Python-re模块-正则表达式模块常用方法

re模块介绍&#xff1a; Python的re模块提供了正则表达式的功能,可以用来进行高级的字符串匹配和处理。re模块的主要功能包括: 编译正则表达式 - 使用re.compile()可以编译正则表达式字符串,生成正则表达式对象。 匹配字符串 - 使用正则表达式对象的match()、search()、finda…...

修改el-select或者el-input样式失效

下午改el-input和el-select这两个的样式真的烦&#xff0c;&#xff0c;&#xff0c;还不如写原生标签了。。 样式使用的是sass 我已经在样式器中挨着挨着去找了&#xff0c;把层级的类都写下来了 .select-wraper{//下拉框.el-select{.el-input .el-input__wrapper{backgrou…...

【Apifox】Apifox设置参数说明:

文章目录 一、效果&#xff1a;二、Query参数&#xff1a;三、返回响应&#xff1a; 一、效果&#xff1a; 二、Query参数&#xff1a; 三、返回响应&#xff1a;...

离线数仓中,为什么用两个flume,一个kafka

实时数仓中&#xff0c;为什么没有零点漂移问题&#xff1f; 因为flink直接取的事件时间用kafka是为了速度快&#xff0c;并且数据不丢&#xff0c;那为什么既用了kafkachannel&#xff0c;也用了kafka&#xff0c;而不只用kafkachannel呢&#xff1f; 因为需要削峰填谷离线数仓…...

p7付费课程笔记6:CMS GC

目录 前言 工作步骤 缺点 问题 前言 上一章节我们讲了串/并行GC&#xff0c;这一章节说下CMS GC。看前思考一个问题&#xff0c;并行GC与CMS GC的区别在哪里。 什么是CMS收集器 CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于…...

Linux性能分析--cpuinfo的内核实现

目录 一、引言 二、Linux性能分析工具介绍 ------>2.1、proc ------------>2.1.1、内核中的proc文件系统 ------------>2.2.2、proc的实现 ------>2.2、cpuinfo ------------>2.2.1、cpuinfo的内核实现 ------------>2.2.2、寄存器获取cpuinfo数据 …...

鲁大师7月新机性能/流畅/久用榜:骁龙8 Gen2领先版亮相,性能跑分再破新高

摘要&#xff1a;iQOO 11S突破上限&#xff0c;红魔8S Pro再创新高 继五月六月&#xff0c;搭载天玑9200的机型相继迎来上市之后&#xff0c;高通也终于按耐不住。 本月所有上市的新机均搭载高通骁龙系列芯片&#xff0c;其中骁龙8 Gen2领先版迎来首次亮相&#xff0c;除了主打…...

【QT学习】01:helloqt

helloqt OVERVIEW helloqt一、helloqt1.使用向导创建2.手动创建3.pro文件4.Qt应用程序框架 二、按钮创建main.cppmywidget.cpp 三、对象模型1.对象树引入2.存在的问题 一、helloqt 创建一个qt项目&#xff0c;可以使用creator的向导创建&#xff0c;也可自己手动创建&#xff…...

Visual Paradigm 17.0 团队协作新功能实测:手把手教你用项目模板和文件夹管理提效

Visual Paradigm 17.0 团队协作实战指南&#xff1a;从模板配置到文件夹管理的高效工作流在敏捷开发团队中&#xff0c;项目启动速度和资产管理的规范性往往直接影响整体效率。Visual Paradigm 17.0针对这一痛点推出的团队协作增强功能&#xff0c;特别是服务器端项目模板和文件…...

BurpSuite 2025插件开发JDK版本兼容性实战指南

1. 为什么BurpSuite插件开发环境总在JDK版本上翻车&#xff1f;你是不是也经历过&#xff1a;下载好BurpSuite最新版2025.4&#xff0c;兴冲冲打开插件开发文档&#xff0c;照着官方示例写完第一个HelloWorld插件&#xff0c;一编译——java.lang.UnsupportedClassVersionError…...

终极鼠标连点器使用指南:3分钟掌握高效自动化技巧

终极鼠标连点器使用指南&#xff1a;3分钟掌握高效自动化技巧 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &#xff0c;操作…...

《我看见的世界:李飞飞自传》第1-6章阅读笔记:从移民少女到AI教母的“看见“之旅

前言 当我们谈论人工智能时&#xff0c;我们谈论的是算法、数据、算力&#xff0c;是那些冰冷的代码和复杂的模型。但在《我看见的世界&#xff1a;李飞飞自传》中&#xff0c;李飞飞用她独特的视角告诉我们&#xff1a;AI的本质&#xff0c;是人类对"看见"世界的渴望…...

车载诊断系统(OBD)的原理、演进与未来

本文约8,167字&#xff0c;建议收藏阅读 作者 | 北湾南巷 出品 | 汽车电子与软件 引 言 在现代汽车中&#xff0c;越来越多的故障不再表现为明显的机械损坏&#xff0c;而是以“亮灯”“报码”“性能异常”等电子信号的形式出现。发动机为什么亮起故障灯&#xff1f;排放是否达…...

如何用WaveTools终极优化《鸣潮》游戏性能:从卡顿到丝滑的完整指南

如何用WaveTools终极优化《鸣潮》游戏性能&#xff1a;从卡顿到丝滑的完整指南 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 如果你正在玩《鸣潮》却频繁遭遇帧率波动、画面卡顿或操作延迟&#xff0c;那…...

JWT弱密钥爆破实战:从HS256签名原理到CTF权限提升

1. 这不是密码学考试&#xff0c;而是一场“密钥猜谜”实战JWT&#xff08;JSON Web Token&#xff09;在现代Web系统中早已不是可选项&#xff0c;而是默认配置。登录成功后返回一串形如eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxMjMsIm5hbWUiOiLnlKjliYkiLCJpYX…...

基于Cynthion逆向USB协议,为DP100电源开发Linux控制软件

1. 项目概述&#xff1a;用Cynthion嗅探USB&#xff0c;为DP100电源打造Linux软件作为一名长期在Linux环境下折腾硬件和嵌入式开发的爱好者&#xff0c;我经常遇到一个头疼的问题&#xff1a;很多不错的桌面小设备&#xff0c;比如电源、示波器、逻辑分析仪&#xff0c;它们的官…...

AB包相关知识

Lua与AB包/Addressables以及YooAsset 摘自千问&#xff1a; Lua 是菜谱&#xff08;逻辑&#xff09;&#xff1a;决定了菜怎么做&#xff0c;味道如何。因为你需要随时换菜谱&#xff08;热更新&#xff09;&#xff0c;所以菜谱不能死板地印在墙上&#xff08;编译进主包&a…...

3步终结Windows热键冲突:Hotkey Detective终极排查指南

3步终结Windows热键冲突&#xff1a;Hotkey Detective终极排查指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾…...