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

JavaScript let 和 const

在JavaScript中,`let`和`const`是用于声明变量的关键字。

`let`关键字用于声明一个块级作用域的变量。块级作用域是指在一个代码块(通常是在花括号 `{}` 内部)中声明的变量只在该代码块内部有效。例如:

```javascript
function example() {
  let x = 10;
  if (true) {
    let y = 20;
    console.log(x); // 输出:10
    console.log(y); // 输出:20
  }
  console.log(x); // 输出:10
  console.log(y); // 报错:y未定义
}
```

在上面的例子中,`x`是在函数`example`的作用域内声明的变量,可以在函数内部的任何位置访问。`y`是在`if`语句块内声明的变量,它只在该语句块内部有效。

`const`关键字用于声明一个常量。常量是一种不能被重新赋值的变量,其值在声明后不能被修改。例如:

```javascript
const PI = 3.14;
console.log(PI); // 输出:3.14

PI = 3.14159; // 报错:无法重新分配常量
```

在上面的例子中,`PI`是一个常量,其值为3.14。由于是常量,不能对其进行重新赋值,所以尝试修改`PI`的值会导致报错。

使用`let`和`const`的选择取决于变量的可变性需求。如果变量的值需要在声明后被修改,可以使用`let`来声明变量。如果变量的值在声明后不应被修改,应使用`const`来声明常量。

当使用`let`声明变量时,变量的值可以被修改。以下是一个使用`let`声明的变量的例子:

```javascript
let count = 0;
console.log(count); // 输出:0

count = 5;
console.log(count); // 输出:5

count += 1;
console.log(count); // 输出:6
```

在上面的例子中,我们使用`let`声明了一个变量`count`,并将其初始值设置为0。然后,我们通过赋予新值和增量操作来修改变量的值,并通过`console.log`打印出结果。

当使用`const`声明常量时,变量的值不能被重新赋值。以下是一个使用`const`声明常量的例子:

```javascript
const PI = 3.14;
console.log(PI); // 输出:3.14

PI = 3.14159; // 报错:无法重新分配常量
```

在上面的例子中,我们使用`const`声明了一个常量`PI`,并将其值设置为3.14。当尝试重新分配新值给常量`PI`时,会导致报错。

需要注意的是,使用`const`声明的常量是不可变的,但如果常量是一个对象,对象的属性是可以修改的。例如:

```javascript
const person = {
  name: "John",
  age: 30
};

console.log(person.name); // 输出:John

person.name = "Jane";
console.log(person.name); // 输出:Jane
```

在上面的例子中,`person`是一个常量,但我们可以修改其属性`name`的值。这是因为常量`person`保存的是对象的引用,而不是对象本身。所以,我们可以修改对象的属性,但不能将新的对象分配给常量。

相关文章:

JavaScript let 和 const

在JavaScript中,let和const是用于声明变量的关键字。 let关键字用于声明一个块级作用域的变量。块级作用域是指在一个代码块(通常是在花括号 {} 内部)中声明的变量只在该代码块内部有效。例如: javascript function example() {…...

云原生下多集群的监控系统背景、架构设计与实现

随着云原生技术的普及,越来越多的企业开始采用多集群部署方案来提高系统的可用性和灵活性。在这种情况下,如何有效地监控多个集群的运行状态,成为了云原生架构下的一个重要问题。 多集群监控系统需要考虑以下几个方面的问题: 监…...

利用OpenCV处理图像

OpenCV是非常流行的图像处理库,下面介绍一下其对图像的基本操作。 1. 安装与环境 安装还有点儿复杂的,但百度几篇博客基本能解决,这里就不多说了。 安装好后,要在工程中使用OpenCV的头文件和库,需要在CMakeLists.tx…...

【面试实战】SpringIoC、AOP、MVC面试实战

version:1.0 文章目录 SpringSpring基础 / IoC🙎‍♂️面试官:举例Spring的模块?🙎‍♂️面试官:Spring、SpringMVC、Spring Boot关系?🙎‍♂️面试官:说说对SpringIoC的了解?🙎‍♂️面试官:什么是Spring Bean?🙎‍♂️面试官:Bean的作用域?🙎‍♂️面…...

[Redis 分布式锁 ]

目录 前言: 使用场景: 基于 Redis 实现分布式锁的详细示例: 使用示例: 依赖: Redis分布式锁控制并发访问: 前言: 记录一些小笔记 , 如果对你有帮助 那就更好了 使用场景: Redis 实现分布式锁的使用场景包括: 防止重复操作&#xf…...

如何创建Vue实例?Vue实例有哪些属性和方法

Vue实例就是Vue的实例化对象,就像你有一个iPhone,那么iPhone就是你的实例化对象。要创建Vue实例,就像你想拥有一部iPhone一样,首先要有一个设计图。 这个设计图就相当于Vue实例的options对象,你可以设置它的属性&…...

InnoDB Cluster集群Mysql Router代理层最佳实践

InnoDB Cluster 集群 & Mysql-Router 代理层 前言 Mysql是现今最常用的关系型数据库之一,高可用一直是我们对软件服务的要求。常见的Mysql高可用是主从配置,在主节点挂掉后需要依赖监控脚本进行主从切换将从节点升级,后台服务代码层面也…...

RabbitMQ系列-概念及安装

1. 消息队列 消息队列是指利用队列这种数据结构进行消息发送、缓存、接收,使得进程间能相互通信,是点对点的通信 而消息代理是对消息队列的扩展,支持对消息的路由,是发布-订阅模式的通信,消息的发送者并不清楚消息的…...

进程间通信之共享内存

进程间通信之共享内存 1.共享内存机制2.两种常用共享内存方式3.补充一下:linux中shm与shmm的区别4.IPC通信System V版本的共享内存shm5.存储映射共享I/O(mmap函数)1.共享内存机制 是允许两个或多个进程(不相关或有亲缘关系)访问同一个逻辑内存的机制。它是共享和传递数据的一…...

网络连接中的舔狗协议

舔狗网络协议 (discard protocol) 最近互联网上,“舔狗” 这个词语很火,也衍生出来很多梗(快速说出互联网 4 大舔狗!!!)。然后今天偶然间看到了一个 RFC 文档, 发现了一…...

一分钟了解乐观锁、悲观锁、共享锁、排它锁、行锁、表锁以及使用场景

大家好,我是冰点,今天给大家带来,关于MySQL中的锁的使用。 我首先提个问题,大家知道什么是 乐观锁、悲观锁、共享锁,、排它锁、行锁、表锁,以及每种锁的使用场景吗? !! 背景:最近在各…...

【C++】C++ 中的 IO 流

文章目录 一、C语言的输入输出二、什么是流三、C IO 流1、C 标准 IO 流2、C 文件 IO 流 四、stringstream 介绍 一、C语言的输入输出 在C语言中我们使用最频繁的输入输出方式是 scanf () 与 printf(): scanf():从标准输入设备 (键盘) 读取数据&#xf…...

QFuture的使用

QFuture 是 Qt 提供的一个类&#xff0c;用于表示异步操作的返回值或状态。异步操作指的是那些不会阻塞主线程的操作&#xff0c;例如文件读写、网络请求、计算等等。 在执行异步操作时&#xff0c;可以使用 QtConcurrent 模块提供的函数 (QFuture<T> QtConcurrent::run…...

通过dockerfile将nginx、前端和后端封装成一个镜像

1、内容如下 2、dist文件 就是vue项目的打包文件 3、jar包文件 就是springboot的打包文件 4、编写Dockerfile #引用 jdk1.8作为基础镜像,这个jdk1.8是我自己用linux版本的jdk打包的,具体操作可以看 #https://blog.csdn.net/qq_38639813/article/details/129384923中将jd…...

如何利用CiteSpace快速锁定领域内最新研究热点并制作精美的可视化专题图?

【基于Citespace和vosviewer文献计量学相关论文 】 ​ 01 文献计量学方法与应用 1. 文献计量学方法基本介绍 2. 与其他综述方法区别联系 3. 各学科领域应用趋势近况 4. 主流分析软件优缺点对比 5. 经典高分10SCI思路复盘 6. 软件安装与Java环境配置 02 主题确定、数据检…...

嵌入式开发从入门到精通之第二十二节:蓝牙芯片CC254x ADC 电压测量

目录 1. CC254x ADC原理 参考电压 采样通道 采样率 采样时间...

北邮22信通:二叉树显示路径的两种方法 递归函数保存现场返回现场的实例

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 获取更多文章 请访问专栏~ 北邮22信通_青山如墨雨如画的博客-CSDN博客 一.讲解 要想实现二叉树的路径显示&#xff0c;我们要按照…...

vue 3 第二十八章:组件十二(组件的v-model、多v-model)

文章目录 1. 基本使用2. 使用conputed实现3. v-model 的参数4. 多 v-model 的使用5. v-model 修饰符 在 Vue 3 中&#xff0c; v-model 指令的使用更加灵活&#xff0c;可以绑定任意属性和事件。例如&#xff0c;我们可以使用 v-model:checked 指令来绑定单选框或复选框的 c…...

LCD 显示

概述 LCD显示控制模块接收 MCU 送过来的数据&#xff0c;按一定规律储存在显示 RAM 中&#xff0c;并根据显示 RAM 中的数据驱动 LCD 显示屏来实现期望的字符显示功能。 主要特点&#xff1a; ⚫ 最大支持 840 、 642 、 444 的显示段数 ⚫ 1/3bias 、 1/4bia s ⚫ 16 级灰度可…...

互联网医院开发|在线问诊系统架构设计功能有哪些?

互联网医院会增加更多的医疗业务&#xff0c;电话问诊、视频问诊、个性化的医疗套餐等&#xff0c;未来互联网医院会建成围绕健康主题的深度大数据平台和多元化医疗服务生态体系&#xff0c;丰富人工智能、物联网等应用场景&#xff0c;为用户提供更好的服务体验、更低的成本、…...

会计学论文降AI工具免费推荐:2026年会计学研究生毕业论文降AI4.8元达标知网完整指南

会计学论文降AI工具免费推荐&#xff1a;2026年会计学研究生毕业论文降AI4.8元达标知网完整指南 整理了一份会计学论文降AI的完整选购指南&#xff0c;按性价比排序。 首推嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元&#xff0c;99.26%达标率&…...

微信小程序抓包实战:安卓模拟器+BurpSuite无Root稳定方案

1. 为什么微信小程序抓包成了“玄学”&#xff0c;而这条路径能绕过所有坑做移动安全测试或前端调试的同行&#xff0c;大概率都经历过这种场景&#xff1a;想看看微信小程序发了什么请求、带了哪些参数、响应体里有没有敏感字段&#xff0c;结果一上手就卡在第一步——连包都抓…...

免费开源AMD Ryzen调试工具:5步快速掌握SMUDebugTool处理器控制技巧

免费开源AMD Ryzen调试工具&#xff1a;5步快速掌握SMUDebugTool处理器控制技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...

课题框架设计:认知流形的拓扑缺陷与精神病理学映射(世毫九实验室原创课题)

课题框架设计&#xff1a;认知流形的拓扑缺陷与精神病理学映射&#xff08;世毫九实验室原创课题&#xff09; 作者&#xff1a;方见华 单位&#xff1a;世毫九实验室 摘要与核心观点 本课题基于世毫九实验室原创认知几何学框架及GLZ认知拓扑互补理论支撑&#xff0c;核心假设为…...

Arm功能安全编译器6.6文档体系与认证要点解析

1. Arm Compiler for Functional Safety 6.6文档体系解析在功能安全软件开发领域&#xff0c;工具链的可靠性和文档完整性直接关系到最终产品的认证通过率。Arm Compiler for Functional Safety 6.6作为面向汽车电子、工业控制等安全关键领域的专用工具链&#xff0c;其文档体系…...

构建多智能体系统时如何通过统一网关管理不同模型的调用与鉴权

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 构建多智能体系统时如何通过统一网关管理不同模型的调用与鉴权 在开发集成多个AI智能体的复杂系统时&#xff0c;工程师常常面临一…...

机器学习因果推断:SSRI与RI方法如何解决异质性效应估计的不确定性

1. 项目概述与核心挑战在实证研究的工具箱里&#xff0c;因果推断正变得越来越“智能”。我们不再满足于回答“这个药平均来看有没有效”&#xff0c;而是迫切想知道“这个药对张三、李四、王五分别有多大效果&#xff1f;”。这就是异质性处理效应估计的魅力所在&#xff0c;它…...

企业级MCP Server OAuth授权接入的七层防御实践

1. 这不是又一篇“OAuth流程图”——企业级MCP Server为什么必须自己实现授权接入你有没有遇到过这样的场景&#xff1a;公司新上线的内部运维平台&#xff08;我们暂且叫它MCP&#xff0c;即Monitoring & Control Platform&#xff09;需要对接钉钉、飞书或企业微信的组织…...

VAE-TCN时间序列分析:从架构稳定性到复杂模式挖掘

1. 项目概述与核心问题在量子物理、金融预测、工业物联网这些领域&#xff0c;我们常常要和一堆按时间顺序排列的数据点打交道&#xff0c;这就是时间序列。传统上&#xff0c;用循环神经网络&#xff08;RNN&#xff09;或者长短期记忆网络&#xff08;LSTM&#xff09;来处理…...

避坑指南:在Ubuntu 22.04服务器上部署LibreOffice和JODConverter的完整流程(含中文字体配置)

Ubuntu 22.04服务器部署LibreOffice与JODConverter全流程&#xff1a;从中文字体配置到生产级优化在文档管理系统开发中&#xff0c;文件预览功能一直是刚需。不同于Windows环境的图形化操作&#xff0c;Linux服务器部署面临依赖缺失、字体配置、服务管理等诸多挑战。本文将手把…...