【ES6】var / let / const

JHU ICBM DTI Atlas纤维束模板介绍 JHU ICBM DTI atlas 纤维束的定位与功能介绍 阅读详情
1、var在声明所在的函数作用域内有效。  function(){}

   let与const都是只在声明所在的块级作用域内有效。{}

2、var与let声明的变量可以改变,值和类型都可以改变,没有限制。

     const声明的常量不得改变值,这意味着,const一旦声明常量,就必须立即初始化,不能留到以后赋值,且不能重复赋值。

const a;    // 报错,一旦声明变量,应该立即赋值!!

const b = 10;
b = 20;    // 报错,因为定义常量之后不能重新赋值!!

3、对于复合类型的变量,如数组和对象,变量名不指向数据,而是指向数据所在的地址。

  const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变。

const arr = [];
arr = [1, 2, 3];   // 报错,因为变量arr指向的地址不能发生改变,应始终指向[]所在的地址!!![1,2,3]与[]不是同一个地址

  下面这样就不会报错:

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

  对象也是如此,示例如下:

const obj = {
	a: 1,
	b: 2
};
obj = { // 报错 a: 3, b: 4 };
obj.a = 3; // 不报错 obj.b = 4; // 不报错

  

如果想让定义的对象或数组的内部数据也不能够修改和改变,可以使用Object.freeze(obj)进行冻结,这样为对象添加新属性就不起作用。

除了将对象本身冻结,对象的属性也应该冻结。

const obj = {
	a: 1,
	b: 2
};
obj.a = 9;
console.log(obj);   // {a: 9, b: 2};  obj.a 发生改变
Object.freeze(obj);  // 冻结
obj.b = 99;
console.log(obj);   // {a: 9, b: 2};  obj.b 未发生改变

  参考:let和const命令

游戏开发-GM系统的设计 游戏管理员(gm)作为游戏中拥有更高权限的账号,在游戏开发的过程中,我们需要很早的将gm系统做出来,作为测试游戏逻辑具有不可替代的作用。 内容目录 服务端与客户端通讯基本流程 gm命令格式设计 gm系统的实现 服务端与客户端通讯基本流程 服务端与客户端通信,如果基本的网络框架搭建完成,那么我们只需要写好命令就可以了 服务器完成一条命令的添加需要3个过程。 (1)命令格式的定义 阅读详情

相关推荐

那些年-SAP固定资产导入AS91 OASV

固定资产起初导入步骤: 第一部分:资产数据导入 1)两个日期配置 填写图片摘要(选填) Specify transfer date/last closed fiscal year 这里的日期填写系统切换日期,如果系统是2015-10-01上线,这里填写2015-09-3 填写图片摘要(选填) Specifylast period posted in prv system 这里指定系统切换的上一期间。这里写2015-09 填写图片摘要(选填) ​2)AS91新增 填写固定资产的分类,公司

阿土工作室 7948

const、let、var的区别

JavaScript 声明变量的区别

weixin_43850458的博客 279

5G R18标准:AI/ML如何重塑空口优化与网络架构

人工智能与机器学习正逐步成为通信网络优化的核心技术。其核心原理在于通过数据驱动模型,从海量网络数据中学习信道变化、用户行为等统计规律,替代传统的基于固定规则的优化方法。这一技术范式能显著提升网络性能与效率,尤其在空口资源管理、干扰协调和能耗控制等场景中价值突出。在5G Advanced(R18)标准化框架下,AI/ML被系统性地引入空口设计,聚焦于信道状态信息反馈增强、波束管理与预测等关键用例。通过定义网络侧AI、终端侧AI及联合学习的标准化接口与流程,R18旨在实现跨厂商设备的智能协同,推动无线网络向自适

weixin_35671843的博客 244

总结var const let

var、const、let var var定义的变量可以修改,如果不初始化会输出undefined,不会报错。 关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域 在声明变量时,省略 var 的话,该变量就会变成全局变量,如全局作用域中存在该变量,就会更新其值。 var 声明的变量存在提升,而let、const不会...

九日的博客 355

从查表法到实时计算:SimpleFOC库中正弦函数优化的技术演进

本文深入探讨了SimpleFOC库v2.0.1版本中正弦函数优化技术的演进,从传统查表法到实时计算的创新实践。通过定点数优化、对称性利用和分段线性插值等关键技术,实现了在嵌入式电机控制中的高效三角函数计算,显著提升性能和资源利用率。

weixin_28273593的博客 452

ENVI5.6 批量处理GF-2/GF-6/GF-7:从安装到融合的完整自动化流程

本文详细介绍了ENVI5.6环境下批量处理GF-2/GF-6/GF-7卫星数据的完整自动化流程,包括环境配置、工具安装、正射校正、图像融合等关键步骤。通过实战案例和优化技巧,帮助用户高效完成高分卫星影像处理,提升工作效率。特别针对GF-6和GF-7的特殊处理要点进行了深入解析。

weixin_42546392的博客 179

var、let、const三种声明变量的方式之间的具体差别

var let 声明后可变,const声明后不可变,复合类型数据不可变的是储存地址指针,而非属性值,例如下例是没有问题的 const obj ={ a: 2} obj.a = 1 let const 作用域块作用域 (大括号{}),而var作用于函数作用域或全局作用域 if(1){ let a = 1 var b = 2 } console.log(b) //2 console.log(a) //ReferenceError: a is not defined var 声明.

CherryCola_zjl的博客 649

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 399

Js中var,let,const的区别

一:区别: 1、var声明的变量属于函数作用域,而let和const声明的变量属于块级作用域;(js作用域在上篇文章) 2、var声明的变量存在变量提升,而let和const没有 3、var声明的变量可以重复声明,而在同一块级作用域,let变量不能重新声明,const常量不能修改(对象的属性和方法,数组的内容可以修改) 二:var声明的作用域 1. 使用var声明的变量,这个变量属于当前的函数作用域,如果变量的声明在任何函数外,那么这个变量就属于全局作用域 var a = 1; //..

前端与计算机相关知识的分享,博主的qq523235674 1万+

华为OD机试真题 新系统-字符串格式调整(C/C++/Py/Java/Js/Go)

华为OD机试 新系统真题【字符串格式调整】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【字符串格式调整】多语言题解

qq_45776114的博客 1142

【win10】win 10 电脑喇叭音频显示红叉的处理方法

目录 一、报错情况 二、“音频服务未运行”解决方法 三、“未插入扬声器或耳机”解决方法 一、报错情况 (1)当电脑的扬声器喇叭图标上带有红X符号,提示“音频服务未运行”时: (2)小喇叭上面有红叉,显示“未插入扬声器或耳机”时: 二、“音频服务未运行”解决方法 (1)开始菜单搜索“服务”: (2)没有启动的点击“启动”,已启动的点击“重新启动”: (3)继续,右...

顾三殇 —— 博客空间(软件测试) 17万+

JS中声明变量,使用 var、let、const的区别

1、var声明是全局作用域或函数作用域,而let和const是块作用域。2、var变量可以在其范围内更新和重新声明;let变量可以被更新但不能重新声明;const变量既不能更新也不能重新声明。3、它们都被提升到其作用域的顶端。但是,虽然使用变量undefined初始化了var变量,但未初始化let和const变量。4、尽管可以在不初始化的情况下声明var和let,但是在声明期间必须初始化const。

KevinChen2019的博客 3287

RK3588嵌入式AI工业部署:YOLOv11 + OpenCV实时推理系统全栈实现

接下来,你可以尝试优化模型(如量化、剪枝)、扩展功能(如多摄像头推理、结果上传到云端),让你的AI应用更加完善。不需要担心技术门槛,我们会一步步带你完成环境搭建、模型转换、部署推理的全流程,最终让你在RK3588上体验AI目标检测的丝滑快感。首先,我们需要把YOLOv11的PyTorch模型(.pt格式)转换成ONNX格式,这是模型部署的第一步。此时,你应该能看到摄像头画面中出现了实时的目标检测框,标注着检测到的物体类别和置信度。文件,这就是RK3588可运行的模型文件。文件,这就是转换后的ONNX模型。

LXY_LOVE36的博客 246

[深入理解ES6]let/const/var

<深入理解ES6>一书中,提起 let/const 这也是平常工作用的比较多,最近需要给公司做培训. 重新复习下以往的知识点. 本文首发自 github 个人博客. 转载请注明出处. 来这里讨论 let/const 再聊 let/const之前, 让我们回顾下我们的老朋友 var, 他有什么特点或特性 var 通过下面的例子, 可以复习下, 关键字var声明带来的影响. console...

weixin_34000916的博客 179

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【ES6】var和let/const的区别

1. var声明的变量会挂载在window上,而let和const声明的变量不会 let / const允许把变量的作用域限制在块级域中;var 申明变量要么是全局的,挂载在window上,要么是函数级的,限制在函数作用域内,而无法是块级的。 function fn(){ var username = '1'; console.log(username); } fn(); console.log(username); // 报错 变量存在函数作用域内。 2. var声明变量存在变量提升

默默的小跟班的博客 947

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ES6——let/const/var使用场景及区别

前言 let 和 const 是 ES6 中新增的命令,是用于解决 ES5 中使用 var 命令声明变量的一些问题而出现的,看一下 var 命令的一些不合理的问题。 var 的问题 var主要有如下几个不合理的地方: 没有块级作用域 重复声明 绑定全局作用域 变量提升 问题1:没有块级作用域 ES5 只有全局作用域和函数作用域,没有块级作用域。在ES6之前,最常见的修复方法是使用IIFE(Immediately Invoked Function Expression,意为立即调用的函

weiwei_xue的博客 1562

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

es6之let/const与var

es6是一种javascript的语言规范/标准 一、es6两种组成 在浏览器的基础上,javascript组成有 dom document对象 bom window对象 在后台环境下node.js也是ECMAscript的组成,此时组成有: 全局成员 console.log、setTimeout等 系统模块 fs 模块等 二、es6变化 1、 语法细微变化 var——>let,const let具有块作用域,即 { var/let a=1} console.log(a) 尤其在

qq_41799870的博客 172

ES6中var/let/const的区别

let的含义及let与var的区别: let 声明的变量只在它所在的代码块有效; 如下: for (let i = 0; i < 10; i++) { console.log(i); } console.log('aaa'); console.log(i); // i is not defined 上面代码中,计数器i只在for循环体内有效,在循环体外引用就会报错...

weixin_34128411的博客 96

ES6属性之:let / var / const

ES6简介 ES:全称:ECMAScript ,它是由ECMA国际标准化组织规定的以相脚本语言的标准化规范。 ES6实际是一个泛指,泛指2016年之后的版本 let let 是ES6 新增的用于声明变量的关键字 let 声明的变量只在所处于的块级有效 if (true) { let a = 10; } console.log(a); //会显示:a is not defined let关键字声明的变量才具有块级作用域,使用var声明的变

weixin_50119334的博客 276

es6-let/var/const

const和var区别 for(let i=0;i<3;i++) { console.log(i); } console.log(i); for(var i=0;i<3;i++) { console.log(i); } console.log(i); 这是const和let的第一个区别,这也引出了块作用域。如何区分块作用...

weixin_30347335的博客 127

一文大白话讲清楚ES6中var/let/const之间的区别与联系

一文大白话讲清楚ES6中var/let/const之间的区别与联系

xiaobangkeji的博客 601

ES6之var/let/const

javascript发展史 1995年 发明js (只能显示文字,负责表单验证),之前是叫LiveScript 蹭热度 改成JavaScript 1996年 发布JavaScript1.0和1.1版本 1997年 三足鼎立(JavaScript(网景)、JScript(微软 IE3)、scripteEase(nombas)) ECMA 以JavaScript1.1...

liuy_1314的博客 347

es6块级作用域 let/var、const的使用、对象的增强写法

事实上var的设计可以看成JavaScript语言设计上的错误. 但是这种错误多半不能修复和移除, 以为需要向后兼容. 大概十年前, Brendan Eich就决定修复这个问题, 于是他添加了一个新的关键字: let. 我们可以将let看成更完美的var 块级作用域 JS中使用var来声明一个变量时, 变量的作用域主要是和函数的定义有关. 针对于其他块定义来说是没有作用域的,比如if/for等,这在我们开发中往往会引起一些问题。 <!DOCTYPE html&gt...

qq_45441466的博客 204

【ES6】let/const 和 var

【代码】【ES6】let/const 和 var。

愿世间再少一个bug!!! 122

ES6 中 let/var/const区别

2.const 关键字。

Huangpiao04的博客 122
上一篇: 媒体查询,响应式布局
下一篇: 【ES6】ES6的新特性
Lik1024
博客等级 码龄9年 71粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值