JavaScript- let var const区别
let
- 允许你声明⼀个作⽤域被限制在块级中的变量、语句或者表达式
- let 绑定不受变量提升的约束,这意味着 let 声明不会被提升到当前
- 该变量处于从块开始到初始化处理的“暂存死区”
-
function example() {let x = 10;if (true) {let x = 20;console.log(x); // Output: 20}console.log(x); // Output: 10 } example();
var
- 声明变量的作⽤域限制在其声明位置的上下⽂中,⽽⾮声明变量总是全局的
- 由于变量声明(以及其他声明)总是在任意代码执⾏之前处理的,所以在代码中的任意位置
- 声明变量总是等效于在代码开头声明
-
function example() {var x = 10;if (true) {var x = 20;console.log(x); // Output: 20}console.log(x); // Output: 20 } example();
const
- 声明创建⼀个值的只读引⽤ (即指针)
- 基本数据当值发⽣改变时,那么其对应的指针也将发⽣改变,故造成 const 申明基本数据类型时
- 再将其值改变时,将会造成报错, 例如 const a = 3 ; a = 5 时 将会报错
- 但是如果是复合类型时,如果只改变复合类型的其中某个 Value 项时, 将还是正常使⽤
-
function example() {const x = 10;if (true) {const x = 20;console.log(x); // Output: 20}console.log(x); // Output: 10 } example();使⽤ let 关键字声明的变量 x 具有块级作⽤域,它的作⽤范围仅限于 if 语句块内部。⽽使⽤ var 关键字声明的变量 x 则具有函数级作⽤域,它的作⽤范围在整个函数内部都可⻅。
对于 const 关键字声明的变量 x ,它创建了⼀个只读的引⽤,也就是说它的值不能被修改。 在示例中, const x = 10 声明了⼀个常量 x ,⽽在 if 语句块内部再次使⽤ const x = 20 声明了⼀个新的常量 x ,它的作⽤范围也仅限于 if 语句块内部。
let 关键字声明的变量具有块级作⽤域,不会被提升,存在暂存死区。
var 关键字声明的变量具有函数级作⽤域,会被提升到当前作⽤域的顶部。
const 关键字声明的变量创建⼀个只读的引⽤,其值不可修改,但对于复合类型的变量,可以修改其属性或元素的值
相关文章:
JavaScript- let var const区别
let 允许你声明⼀个作⽤域被限制在块级中的变量、语句或者表达式 let 绑定不受变量提升的约束,这意味着 let 声明不会被提升到当前 该变量处于从块开始到初始化处理的“暂存死区” function example() {let x 10;if (true) {let x 20;console.log(x); // Outpu…...
指针的经典笔试题
经典的指针试题,让你彻底理解指针 前言 之前对于指针做了一个详解,现在来看一些关于指针的经典面试题。 再次说一下数组名 数组名通常表示的都是首元素的地址,但是有两个意外,1.sizeof(数组名)这里数组名…...
书生浦语大模型实战营-课程笔记(1)
模型应用过程,大致还是了解的。和之前实习做CV项目的时候比起来,多了智能体这个环节。智能体是个啥? 类似上张图,智能体不太清楚。感觉是偏应用而不是模型的东西? 数据集类型很多,有文本/图片/视频。所以…...
磁盘database数据恢复: ddrescue,dd和Android 设备的数据拷贝
ddrescue和dd 区别: GNU ddrescue 不是 dd 的衍生物,也与 dd 没有任何关系 除了两者都可用于将数据从一台设备复制到另一台设备。 关键的区别在于 ddrescue 使用复杂的算法来复制 来自故障驱动器的数据,尽可能少地造成额外的损坏。ddrescue…...
SpringMVC-入门
1.概念 SpringMVC是一种软件架构思想,把软件按照模型(Model)、视图(View)、控制器(Controller)这三层来划分。Model:指的是工程中JavaBean,用来处理数据View:指的是工程中的html、jsp等页面,用来展示给用户数据Control…...
需要学习的知识点清单
div 4 div 3 F :拓扑排序 G : 组合数学 D : 结构体排序 div 2 div 12...
杂谈--spconv导出中onnx的扩展阅读
Onnx 使用 Onnx 介绍 Onnx (Open Neural Network Exchange) 的本质是一种 Protobuf 格式文件,通常看到的 .onnx 文件其实就是通过 Protobuf 序列化储存的文件。onnx-ml.proto 通过 protoc (Protobuf 提供的编译程序) 编译得到 onnx-ml.pb.h 和 onnx-ml.pb.cc 或 on…...
嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第二天-arm ads下的start.S分析(物联技术666)
链接:https://pan.baidu.com/s/1E4x2TX_9SYhxM9sWfnehMg?pwd1688 提取码:1688 ; ; NAME: 2440INIT.S ; DESC: C start up codes ; Configure memory, ISR ,stacks ; Initialize C-variables ; 完全注释 ; HISTORY: ; 2002.02.25:kwtark: ver 0.…...
STL之list容器的介绍与模拟实现+适配器
STL之list容器的介绍与模拟实现适配器 1. list的介绍2. list容器的使用2.1 list的定义2.2 list iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers2.6 list的迭代器失效 3. list的模拟实现3.1 架构搭建3.2 迭代器3.2.1 正向迭代器3.2.2反向迭代器适配…...
Leetcode With Golang 二叉树 part1
这一部分主要来梳理二叉树题目最简单最基础的部分,包括遍历,一些简单题目。 一、Leecode 144 - 二叉树的前序遍历 https://leetcode.cn/problems/binary-tree-preorder-traversal/description/ 二叉树的遍历是入门。我们需要在程序一开始就创建一个空…...
tcp 中使用的定时器
定时器的使用场景主要有两种。 (1)周期性任务 这是定时器最常用的一种场景,比如 tcp 中的 keepalive 定时器,起到 tcp 连接的两端保活的作用,周期性发送数据包,如果对端回复报文,说明对端还活着…...
黑马Java——IO流
一、IO流的概述 IO流:存储和读取数据的解决方案 IO流和File是息息相关的 1、IO流的分类 1.1、纯文本文件 word、Excel不是纯文本文件 而txt或者md文件是纯文本文件 2、小结 二、IO流的体系结构 三、字节流 1、FileOutputStream(字节输出流ÿ…...
re:从0开始的CSS学习之路 11. 盒子垂直布局
1. 盒子的垂直布局的注意 若两个“相邻”垂直摆放的盒子,上面盒子的下外边距与下面盒子的上外边距会发生重叠,称为外边距合并 若合并后,外边距会选择重叠外边距的较大值 若两个盒子具有父子关系,则两个盒子的上外边距会发生重叠&…...
Kindling-OriginX 如何集成 DeepFlow 的数据增强网络故障的解释力
DeepFlow 是基于 eBPF 的可观测性开源项目,旨在为复杂的云基础设施及云原生应用提供深度可观测性。DeepFlow 基于 eBPF 采集了精细的链路追踪数据和网络、应用性能指标,其在网络路径上的全链路覆盖能力和丰富的 TCP 性能指标能够为专业用户和网络领域专家…...
轻松掌握Jenkins执行远程window的Jmeter接口脚本
Windows环境:10.1.2.78 新建与配置节点 【系统管理】—【管理节点】—【新建节点】输入节点名称,勾选“dumb slave”,点击ok 按如上配置: 说明: Name:定义slave的唯一名称标识,可以是任意字…...
UI文件原理
使用UI文件创建界面很轻松很便捷,他的原理就是每次我们保存UI文件的时候,QtCreator就自动帮我们将UI文件翻译成C的图形界面创建代码。可以通过以下步骤查看代码 到工程编译目录,一般就是工程同级目录下会生成另一个编译目录,会找到…...
OS设备管理
设备管理 操作系统作为系统资源的管理者,其提供的功能有:处理机管理、存储器管理、文件管理、设备管理。其中前三个管理都是在计算机的主机内部管理其相对应的硬件。 I/O设备 I/O即输入/输出。I/O设备即可以将数据输入到计算机,或者可以接收…...
Matlab绘图经典代码大全:条形图、极坐标图、玫瑰图、填充图、饼状图、三维网格云图、等高线图、透视图、消隐图、投影图、三维曲线图、函数图、彗星图
学会 MATLAB 中的绘图命令对初学者来说具有重要意义,主要体现在以下几个方面: 1. 数据可视化。绘图命令是 MATLAB 中最基本也是最重要的功能之一,它可以帮助初学者将数据可视化,更直观地理解数据的分布、变化规律和趋势。通过绘制图表,可以快速了解数据的特征,从而为后续…...
姿态传感器MPU6050模块之陀螺仪、加速度计、磁力计
MEMS技术 微机电系统(MEMS, Micro-Electro-Mechanical System),也叫做微电子机械系统、微系统、微机械等,指尺寸在几毫米乃至更小的高科技装置。微机电系统其内部结构一般在微米甚至纳米量级,是一个独立的智能系统。 微…...
MySQL 基础知识(一)之数据库和 SQL 概述
目录 1 数据库相关概念 2 数据库的结构 3 SQL 概要 4 SQL 的基本书写规则 1 数据库相关概念 数据库是将大量的数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合数据库管理系统(DBMS)是用来管理数据库的计算机系统…...
实战分享:如何用Altium Designer高效搞定PCB的定位孔、散热孔和屏蔽孔?
Altium Designer实战:PCB定位孔、散热孔与屏蔽孔的高效设计指南 在PCB设计领域,机械孔的设计往往被工程师视为"简单任务"而草率处理,直到量产时才发现定位偏差、散热不足或EMI超标等问题。作为从业十年的硬件设计师,我曾…...
iOS内购避坑指南:从沙盒测试到正式上线的完整流程(附常见错误解决方案)
iOS内购全流程实战:从沙盒测试到生产环境的避坑手册 当你第一次集成iOS内购(IAP)时,是否遇到过这些场景?用户付款后商品迟迟未到账、沙盒测试时收据验证总是失败、审核阶段一切正常但上线后出现大量丢单...这些问题往往…...
PyCharm中如何快速取消pytest测试模式?5步搞定直接运行Python脚本
PyCharm中如何快速取消pytest测试模式?5步搞定直接运行Python脚本 作为Python开发者,我们经常需要在PyCharm中切换不同的运行模式。有时候,你可能只是想快速运行一个Python脚本,却发现PyCharm固执地以pytest模式执行,…...
4个步骤实现跨设备数据同步:开源工具Kazumi的WebDAV集成方案
4个步骤实现跨设备数据同步:开源工具Kazumi的WebDAV集成方案 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi …...
Dockle在大型项目中的应用:多镜像批量扫描与报告生成完整指南
Dockle在大型项目中的应用:多镜像批量扫描与报告生成完整指南 【免费下载链接】dockle Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start 项目地址: https://gitcode.com/gh_mirrors/do/dockle Dockle是一…...
AI与数据库融合:从经典论文到前沿实践
1. AI与数据库融合的起源与演进 数据库和人工智能这两个看似独立的领域,其实早在计算机科学发展的初期就已经产生了交集。上世纪70年代,当关系型数据库理论刚刚确立时,研究者们就开始探索如何让数据库系统具备一定的"智能"。当时的…...
MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程
MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 还在…...
数据宝藏库:Awesome Public Datasets完整入门指南
数据宝藏库:Awesome Public Datasets完整入门指南 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 你是否曾经为了寻找高质量的数据集而烦…...
用STM32F103C8T6和F9P模组DIY一台RTK无人车:从蓝牙遥控到自主导航的保姆级教程
用STM32F103C8T6和F9P模组打造高精度RTK无人车:从零构建到自主导航全流程解析 在创客圈子里,能够自主导航的智能小车一直是热门项目。但传统基于普通GPS的方案定位精度往往在米级徘徊,难以实现真正的精准控制。而将RTK(实时动态定…...
鸿蒙应用开发实战:手把手教你封装一个可复用的音乐播放器管理类(ArkTS版)
鸿蒙应用开发实战:构建高可复用的音乐播放器管理类(ArkTS版) 在鸿蒙应用开发中,音频播放功能是许多应用的核心需求。本文将深入探讨如何设计一个健壮、可复用的音乐播放器管理类,采用ArkTS语言实现,帮助开发…...
