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

Js中var VS let VS const

变量提升

变量提升是JavaScript中比较“奇怪”的现象,它允许在变量声明之前即被访问(仅存在于var声明变量)注意:

1.变量在未声明即被访问时会报语法错误

2.变量在var声明之前即被访问,变量的值为undefined

3.let/const声明的变量不存在变量提升

4.把所有var声明的变量提升到当前作用域的最前面

5.只提升声明,不提升赋值

6.实际开发中推荐先声明再访问变量

//变量提升相当于加了一句 var numconsole.log(num + '件')num = 10console.log(num)

块作用域

在JavaScript中使用{}包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问。总结:

1.let声明的变量会产生块作用域,var不会产生块作用域

2.const声明的常量也会产生块作用域

3.不同代码块之间的变量无法互相访问

4.推荐使用let或const


细节

1.let 不允许多次声明一个变量,var可以

2.当某个变量永远不会改变的时候,就可以使用 const 来声明,const 不允许重新赋值,声明的时候必须赋值(初始化)

3.在浏览器中,使用var定义的全局变量会挂载到window上,而let和const不会

http://www.dtcms.com/a/288374.html

相关文章:

  • Jmeter系列(7)-线程组
  • 6.表内容的操作之增、读
  • 【Linux服务器】-mysql数据库数据目录迁移
  • 打靶日记之xss-labs
  • undefined reference to ‘end‘
  • 从公共数据到医学研究:32 个生信数据库详解
  • [实战]巴特沃斯滤波器全流程解析:从数学原理到硬件实现
  • 磁盘阵列技术的功能与分类
  • 【面试题】大厂高压面经实录丨第三期
  • Python Pandas读取Excel表格中数据并根据时间字段筛选数据
  • 软件警告弹窗与兼容性问题
  • HD Video Converter Factory pro 高清视频转换器 v27.7.0 绿色中文便携版
  • centos7使用docker-compose部署项目
  • 《Linux 环境下 NTP 时间同步与 SSH 免密登录配置实战》
  • 树的基础知识总结
  • 移动硬盘无法读取怎么办?数据还可以抢救回来
  • STC增强型单片机寄存器 PWM EEPROM TMOD TCON
  • 数据结构的文件操作
  • scalelsd 笔记 线段识别 本地部署 模型架构
  • Spring7个事务传播行为和5个隔离级别
  • Java-Lambda表达式
  • 【Linux】Linux中重定向 及 dup2 详细讲解
  • Stream API
  • 2023 年 5 月青少年软编等考 C 语言八级真题解析
  • 本地安装部署Unstructured-api
  • ADC选型设计
  • SpringBoot项目打包加部署方案
  • Datawhale 7月学习
  • SCSAI工业智能体的核心特征
  • Xss-labs 1-8以及利用python自动sq8注入