JS中var和let和const的区别
在我很早之前,我还在用着var,直到接触到了let与const,我才知道var造成的影响很多,我果断的抛弃了var,哈哈
让我为大家介绍一下它们的区别吧!
1.块级作用域
块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域
{// var没有块级作用域var a = 10// let有块级作用域let b = 20// const有块级作用域const c = 30}console.log(a) //打印10console.log(b) //报错,b is not definedconsole.log(c) //报错,c is not defined ,因为let已经报错,后面没打印出来
块级作用域解决了ES5中的两个问题:
内层变量可能覆盖外层变量
var a = 5function fun() {//变量提升导致,没有块级作用域console.log(a) //undefined{var a = 10}}fun()
用来计数的循环变量泄露为全局变量
for(var i = 0;i < 5;i++){console.log(i) //0 1 2 3 4}console.log(i) //5
2.变量提升
var存在变量提升,let和const不存在变量提升,即在变量只能在声明之后使用,否则会报错
// var变量提升console.log(a) //undefinedvar a = 10
// let与const没有变量提升console.log(a) //报错let a = 10 console.log(b)//报错const b = 10
3.重复声明
var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的变量。const和let不允许重复声明变量。
var a = 10console.log(a) //10var a = 20console.log(a) //20
let a = 10let a = 20console.log(a) //报错
const a = 10const a = 20console.log(a) //报错
4.暂时性死区
在使用let、const命令声明变量之前,该变量都是不可用的。这在语法上,称为暂时性死区。使用var声明的变量不存在暂时性死区
因为var的作用域为全局作用域,存在变量提升,let与const没有变量提升,而且let与const有块作用域
代码同变量提升模块
5.初始值设置
在变量声明时,var 和 let 可以不用设置初始值。而const声明变量必须设置初始值。
var aconsole.log(a) //undefinedlet bconsole.log(b) //undefinedconst cconsole.log(c) //报错 在const声明中缺少初始化式
感谢大家的阅读,如有什么不对的地方,可以向我指出,感谢大家!
相关文章:
JS中var和let和const的区别
在我很早之前,我还在用着var,直到接触到了let与const,我才知道var造成的影响很多,我果断的抛弃了var,哈哈 让我为大家介绍一下它们的区别吧! 1.块级作用域 块作用域由 { }包括,let和const具有…...
如何利用IP定位技术进行反欺诈?
网络欺诈风险是指在互联网和数字领域中,存在各种类型的欺诈活动,旨在欺骗个人、组织或系统以获得非法获益。以下是一些常见的网络欺诈风险类型: 身份盗用:这是一种欺诈行为,涉及盗取他人的个人身份信息,如姓…...
wireshark抓包本地IDEA xml格式报文教程以及postman调用接口
1、选择 2、筛选...
MySQL学习(六)——视图和触发器
文章目录 1. 视图1.1 视图语法1.2 检查选项1.3 视图的更新1.4 视图的作用 2. 触发器2.1 介绍2.2 语法介绍2.3 触发器示例2.3.1 插入数据触发器2.3.2 修改数据触发器2.3.3 删除数据触发器 1. 视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据…...
那些你面试必须知道的ES6知识点
目录 1、var、let、const的区别2、作用域考题3、合并两个对象4、箭头函数和普通函数的区别5、Promise有几种状态6、find和filter的区别7、some和every的区别 1、var、let、const的区别 区别一: var有变量提升,而let和const没有 <script>console.l…...
AD9371 系列快速入口
参考资料: AD9371 JESD204 Interface Framework Generic JESD204B block designs AD9371 & AD9375 Prototyping Platform User Guide ADI™ Reference Designs HDL User Guide 相关设备 : ZCU106ADRV9371CPRO33-30.726 dB 衰减 AD9371ZCU102 移植到…...
Jenkins+vue发布项目
在Jenkins 中先创建一个任务名称 然后进行下一步,放一个项目 填写一些参数 参数1: 参数2: 参数3:参数4: 点击保存就行了 配置脚本 // git def git_url http://gitlab.xxxx.git def git_auth_id GITEE_RIVER…...
RSTP详解:对比STP,到底改进了什么?
一、RSTP概述 IEEE 802.1W中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。 二、RSTP对STP的改进 改进点1:端口角色 、 改进点2:端口状态 RSTP的状态规范缩…...
从0到1,申请cos服务器并上传图片到cos文件服务器
目录 准备工作 Java代码编写 控制台打印 整理成工具类 编写接口 Postman测试 准备工作 1.进入网址腾讯云 产业智变云启未来 - 腾讯 (tencent.com) 2.搜索cos,点击立即使用,刚开始会免费赠送你 3.存储都是基于桶的,先创建桶,在桶里面创…...
Stm32_标准库_15_串口蓝牙模块_手机与蓝牙模块通信_BUG修复
代码: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h" #include "Time.h" #include "Function.h" #include <stdio.h> #include <…...
文心一言帮忙写代码之微信小程序图片移动顺序
先上效果图,图片顺序可移动,左移右移调准顺序。 代码是文心一言帮忙写的,自己稍微改造就可以用了。 首先是往左移,也就是从下标1移到下标0 ,下标2移到下标1 var imglist [‘aa’, ‘bb’, ‘cc’, ‘dd’]; function…...
【电子通识】USB接口三大类型图册
基本概念 不同时期的USB接口有不同的类型,USB接口分为插头和插座: 插头,plug,对应的也叫公口,即插别人的。 插座,receptacle,对应也叫做母口,即被插的。 USB的接口类型࿰…...
@Controller与@RestController
总结 Controller :定义一个控制器类. RequestMapping :给出外界访问方法的路径,或者说触发路径 ,触发条件。 具体解析访问路径到某个方法上. ResponseBody :标记Controller类中的方法。把return的结果变成JSON对象…...
Compose Desktop 使用中的几个问题(分平台加载资源、编写Gradle 任务下载平台资源、桌面特有组件、鼠标键盘事件)
前言 在我之前的文章 Compose For Desktop 实践:使用 Compose-jb 做一个时间水印助手 中,我们使用 Compose For Desktop 写了一个用于读取照片 EXIF 中的拍摄日期参数并以文字水印的方式添加到照片上的桌面程序。 但是事实上,这个程序的名字…...
【华为OD机试python】返回矩阵中非1的元素个数【2023 B卷|200分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 存在一个m*n的二维数组,其成员取值范围为0,1,2。 其中值为1的元素具备同化特性,每经过1S,将上下左右值为0的元素同化为1。 而值为2的元素,免疫同化。 将数组所有成员随机初始化为0或…...
容器安全 - 利用容器的特权配置实现对Kubernetes容器的攻击
《OpenShift / RHEL / DevSecOps 汇总目录》 文章目录 准备环境利用特权配置对Kubernetes容器攻击privileged hostpathprivileged hostpidprivilegedhostpathhostpidhostipchostnetwork 参考 通过将运行 Pod 的 privileged 设为 true,容器就以特权模式运行在宿主…...
深度剖析Android Binder IPC机制
Android系统的成功离不开其强大的IPC(Inter-Process Communication)机制,其中最引人注目的就是Binder。本文将深入探讨Binder的技术原理,解释其工作方式以及相关的关键概念。 什么是Binder Binder是Android系统中的IPC机制&…...
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程 Shuffle是什么Shuffle的流程处理map任务的执行流程reduce任务的执行流程 Shuffle过程分析和优化map任务深入分析细化步骤分析1. 数据分片读取2. 分配计算Reduce服务Partitioner分区…...
CISA 彻底改变了恶意软件信息共享:网络安全的突破
在现代网络安全中,战术技术和程序(TTP)的共享对于防范网络事件至关重要。 因此,了解攻击向量和攻击类型之间的关联如今是让其他公司从其他公司遭受的 IT 事件中受益(吸取经验教训)的重要一步。 美国主要网…...
macos 12 支持机型 macOS Monterey 更新中新增的功能
macOS Monterey 能让你以全然一新的方式与他人沟通联络、共享内容和挥洒创意。尽享 FaceTime 通话新增的音频和视频增强功能,包括空间音频和人像模式。通过功能强大的效率类工具(例如专注模式、快速备忘录和 Safari 浏览器中的标签页组)完成更…...
SQL报表查询标准规范_SQL书写规范优化
SQL报表查询应逻辑清晰、命名统一、性能可控:明确指定字段禁用SELECT*,多表用别名,计算字段设语义化别名,显式JOIN并按数据量从小到大排列,关联条件写ON中,复杂查询用WITH拆解,WHERE优先用索引字…...
如何快速获取离线小说:Tomato-Novel-Downloader完整指南
如何快速获取离线小说:Tomato-Novel-Downloader完整指南 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 番茄小说下载器是一款专为数字阅读爱好者设计的开源工具&a…...
AWS批处理作业终极指南:Batch服务的智能任务调度与优化
AWS批处理作业终极指南:Batch服务的智能任务调度与优化 【免费下载链接】og-aws 📙 Amazon Web Services — a practical guide 项目地址: https://gitcode.com/gh_mirrors/og/og-aws AWS Batch服务是Amazon Web Services提供的一项强大的任务调度…...
基于微信小程序的上门维修系统(文档+源码)_kaic
第5章 系统实现 5.1小程序前台实现 首先双击打开小程序客户端,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他…...
扩散模型在自动驾驶世界建模中的应用与优化
1. 扩散模型与自动驾驶世界建模的技术背景 自动驾驶技术的快速发展对仿真系统提出了更高要求。传统基于规则和物理的仿真方法在复杂场景下难以兼顾真实性和多样性,而数据驱动的生成式方法正成为新的研究热点。扩散模型(Diffusion Models)作为…...
【车规级TSN确定性通信终极方案】:基于C语言的gPTP+CBS+ATS三级协同调度,实测端到端抖动<125ns(附ASAM MCD-2MC兼容源码片段)
更多请点击: https://intelliparadigm.com 第一章:车规级TSN确定性通信的架构演进与C语言实现必要性 随着智能驾驶与域控制器架构普及,车载网络正从传统FlexRay/CAN向时间敏感网络(TSN)加速迁移。车规级TSN不仅需满足…...
智慧农业水果采摘点识别 苹果识别集采摘点检测数据集 农业果树水果识别数据集 苹果检测数据集 图像识别数据集10233期
苹果数据集核心信息表及内容重述 苹果数据集核心信息横向表格 信息类别具体内容应用场景用于目标检测任务,主要应用于农业领域 960x1280分辨率数据集数量包含 2299 张图像,其中有 15439 个带标签的对象,存在 9 张(占总数 0%&…...
基于Git的个人加密仓库wall-vault:安全备份与跨设备同步方案
1. 项目概述与核心价值最近在整理个人数字资产时,我遇到了一个很多朋友都有的痛点:那些零散但重要的文件——比如证件扫描件、合同电子版、软件授权码、家庭照片备份,还有各种平台的账号密码——到底该怎么存才既安全又方便?放网盘…...
Epsilla向量数据库实战:10倍性能提升的RAG应用新选择
1. 项目概述:为什么我们需要另一个向量数据库?如果你最近在折腾大语言模型应用,尤其是RAG(检索增强生成)相关的项目,那么“向量数据库”这个词对你来说肯定不陌生。从Pinecone、Weaviate到Milvus、Qdrant&a…...
单例 QtObject 全局配置
YourProject/ ├── Main.qml // 主页面 ├── Config.qml // 全局单例配置(核心) ├── PageA.qml // 子页面A ├── PageB.qml // 子页面B └── qmldir // 注册单例必须1、…...
