JavaScript(一):变量与常量

目录

var

let

const


在JavaScript中,主要使用var、let和const关键字来声明变量或常量

var

var是JavaScript早期时声明变量的方式,目前比较少用到

作用域

  • 函数内部声明:只在函数内部有效
  • 函数外部声明:全局有效

变量提升:在执行代码时,var声明的变量就算在后面才被定义,也会被提升到当前作用域的顶部,但只有变量会被提升,值不会被提升

例如:

function testVar() {console.log(x); // undefined, 因为x已被提升var x = 10;console.log(x); // 10
}testVar();

在上述代码中,尽管var x=10在第一个console.log之后声明,但是console.log(x)会输出undefined而不是报错,因为变量提升

let

let是var的改进版本,let声明的变量只在所在的代码块(if语句、for循环等)内有效

暂时性死区:由let声明的变量在声明之前不能被访问,直到let语句被执行时,变量才会进入作用域

function testLet() {console.log(x); // ReferenceError: Cannot access 'x' before initializationlet x = 10;console.log(x); // 10
}testLet();

与let不同,如果在声明前使用变量,就会报错

const

const声明的变量不再可变,而是常量

必须在声明时就进行初始化,且一旦赋值就不可更改

和let相似,const也只在声明的代码块中有效

const x = 10;
console.log(x); // 10x = 20; // TypeError: Assignment to constant variable.

注意:尽管const创建的变量不能重新赋值,但如果是一个对象或者数组,则可以修改对象或数组的属性或元素

const只保证变量指向的内存地址不变,不限制对象内容的修改

const obj = { name: 'Alice' };
obj.name = 'Bob'; // 允许,修改对象内容obj = {}; // TypeError: Assignment to constant variable.

在上述代码中,虽然对象obj的引用不能变,但对象的内部属性可以变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开发问题记录】执行 git cz 报require() of ES Module…… 错误

文章目录 1、问题2、解决3、参考链接 1、问题 在对 commitizen 进行完,一系列的初始化以后 , 对代码进行 提交 到暂存区,然后要提交到 本地仓库 的报错 然后因为安装了 commitizen 所以是想用 git cz 进行提交的, 执行命令的时候…

LaTeX 是一种基于标记的排版系统,广泛用于创建高质量的文档,特别是在需要复杂数学公式、表格、文献引用等的场景中

LaTeX 是一种基于标记的排版系统,广泛用于创建高质量的文档,特别是在需要复杂数学公式、表格、文献引用等的场景中。以下是关于 LaTeX 的详细解释: 1. LaTeX 的基本概念 本质:LaTeX 是基于 TeX 的排版系统,提供了更高…

AI三驾马车——数据、算法与算力的一体化融合体验

一、概述 随着AI大模型、云计算和大数据技术的快速发展,智能算力市场需求持续增长。今年7月由国家信息中心发布的《智能算力产业发展白皮书》指出,随着AI大模型等关键技术取得突破,算力需求正从通用计算转向智能计算。智能计算是指面向人工智…

【可靠有效】springboot使用netty搭建TCP服务器

Netty Netty是一个高性能、异步事件驱动的网络应用程序框架,它提供了对并发和异步编程的抽象,使得开发网络应用程序变得更加简单和高效。 在Netty中,EventLoopGroup是处理I/O操作的多线程事件循环器。在上面的示例中,我们创建了两个EventLoopGroup实例:bossGroup和worker…

React性能优化:构建更高效的应用

在现代前端开发中,React已经成为构建复杂、交互频繁应用的首选框架。然而,随着应用规模的扩大和功能的丰富,组件的频繁重渲染可能会成为性能瓶颈,影响用户体验。为了提升React应用的性能,开发者需要掌握一系列性能优化技巧和工具。本文将详细介绍React性能优化的各个方面,…

PyTorch Lightning Callback介绍

PyTorch Lightning Callback 介绍 在 PyTorch 中,callbacks(回调函数)不是原生支持的核心功能,但在深度学习中非常常见,尤其是用来监控训练过程、调整超参数或执行特定的任务。许多高级深度学习框架(如 Py…

外键约束的应用层维护

1.前言 一般来说 对于不同表格之间的属性约束 我们通常直接使用数据库已经实现好的外键来完成 但是数据库底层实现的外键他的性能很差 这是因为在执行数据库修改操作时 他需要遍历其他所有的表来找出其中可能相关联的属性 一并进行数据库修改(应用层的维护则只需要遍历所有关联…

【C语言】斐波那契数列

已知Fibonacci数列为1,1,2,3,5,8,13,…&#xff0c;用递归法编写求Fibonacci数的函数&#xff0c;在主函数中输入一个自然数&#xff0c;输出不小于该自然数的最小的一个Fibonacci数。 #include <stdio.h> int Fib(int f) {if (f < 2) return 1;else return Fib(f - …

前端知识补充—CSS

CSS介绍 什么是CSS CSS(Cascading Style Sheet)&#xff0c;层叠样式表, ⽤于控制⻚⾯的样式 CSS 能够对⽹⻚中元素位置的排版进⾏像素级精确控制, 实现美化⻚⾯的效果. 能够做到⻚⾯的样式和结构分离 基本语法规范 选择器 {⼀条/N条声明} 1&#xff09;选择器决定针对谁修改…

elasticsearch 杂记

8.17快速安装与使用 系统&#xff1a;ubuntu 24 下载地址&#xff1a; https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.0-linux-x86_64.tar.gz 解压后进入目录&#xff1a;cd ./elasticsearch-8.17.0 运行&#xff1a;./bin/elasticsearch 创…

在git commit之前让其自动执行一次git pull命令

文章目录 背景原因编写脚本测试效果 背景原因 有时候可以看到项目的git 提交日志里好多 Merge branch ‘master’ of …记录。这些记录是怎么产生的呢&#xff1f; 是因为在本地操作 git add . 、 git commit -m "xxxxx"时&#xff0c;没有提前进行git pull操作&…

c# RSA加解密工具,.netRSA加解密工具

软件介绍 名称: c# RSA加解密工具,.netRSA加解密工具依赖.net版本: .net 8.0工具类型: WinForm源码下载 c# RSA加解密工具,.netRSA加解密工具 依赖项 WinFormsRSA.csproj <Project

地理数据库Telepg面试内容整理-如何在数据库中优化大规模空间数据的查询性能

优化大规模空间数据查询的性能是一个复杂但关键的任务,特别是在需要处理海量的地理信息时。空间数据通常涉及复杂的几何对象、空间关系和大范围的查询操作,因此,优化空间数据的查询性能通常需要综合考虑存储、索引、查询方法等多个方面。以下是一些优化大规模空间数据查询性…

GitCode 光引计划投稿|智能制造一体化低代码平台 Skyeye云

随着智能制造行业的快速发展&#xff0c;企业对全面、高效的管理解决方案的需求日益迫切。然而&#xff0c;传统的开发模式往往依赖于特定的硬件平台&#xff0c;且开发过程繁琐、成本高。为了打破这一瓶颈&#xff0c;Skyeye云应运而生&#xff0c;它采用先进的低代码开发模式…

FFmpeg推拉流命令

命令简介 它可以将本地的视频/音频流推送到服务器&#xff0c;也可以将服务器上的音视频流拉到本地。 推流命令的命令格式 ffmpeg -re -i [输入文件] -c:v [视频编码器] -c:a [音频编码器] -f [输出格式] [推流地址] 参数解析 -re 表示采用实时模式&#xff0c;以原始速度…

使用git管理项目版本

Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义_python中git显示不同颜色-CSDN博客 主要几个命令&#xff1a; git status 查看已提交文件 git checkout -b dev 创建并切换到新分支&#xff0c;是各分支的头指针 git symbolic-ref HEAD re…

iOS从Matter的设备认证证书中获取VID和PID

设备认证证书也叫 DAC, 相当于每个已经认证的设备的标识。包含了 VID 和 PID. VID: Vendor ID &#xff0c;标识厂商 PID: Product ID&#xff0c; 标识设备的 根据 Matter 对于设备证书的规定&#xff0c;DAC证书subject应该包含VID 和 PID. 可通过解析 X509 证书读取subject…

关于分布式数据库需要了解的相关知识!!!

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于关于分布式数据库方面的相关内容&a…

【前沿 热点 顶会】AAAI 2025中与目标检测有关的论文

CP-DETR: Concept Prompt Guide DETR Toward Stronger Universal Object Detection&#xff08;AAAI 2025&#xff09; 最近关于通用物体检测的研究旨在将语言引入最先进的闭集检测器&#xff0c;然后通过构建大规模&#xff08;文本区域&#xff09;数据集进行训练&#xff0…

EdgeX Core Service 核心服务之 Core Command 命令

EdgeX Core Service 核心服务之 Core Command 命令 一、概述 Core-command(通常称为命令和控制微服务)可以代表以下角色向设备和传感器发出命令或动作: EdgeX Foundry中的其他微服务(例如,本地边缘分析或规则引擎微服务)EdgeX Foundry与同一系统上可能存在的其他应用程序…