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

JavaScript-如何使用变量

更多内容,请访问:

声明和定义区别
JavaScript-变量类型
JavaScript-变量类型判断
JavaScript-undefined和null区别

变量定义

变量的定义,可以通过var、const、let来定义,let和const是ES6新特性,let和const是解决var中的一些问题产生的。

// 定义一个年龄为18的age变量
var age = 18;
// 定义一个名称叫xiaoming的name变量
let name = 'xiaoming';
// 定义一个值为3.14的PI常量
const PI = 3.14;

const是针对常量定义,这个值在整个生命周期中不改变,比如我们定义了一个常量 π = 3.14,由于 π 是不可变化的值,所以这个时候,我们就可以用const来定义。

const PI = 3.14;

区别

1. 说说let和const
  • let:

    声明变量
    没有变量提升
    不可重复声明
    具有块级作用域
    声明变量后可以在使用时赋值

  • const:

    只读常量
    没有变量提升
    不可重复声明
    具有块级作用域
    声明变量后必须立马赋值

2. let、const、var的区别

(1)块级作用域: 块作用域由 { } 包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决了ES5中的两个问题:

  • 内层变量可能覆盖外层变量
  • 用来计数的循环变量泄露为全局变量

(2)变量提升: var存在变量提升,let和const不存在变量提升,即在变量只能在声明之后使用,否在会报错。

(3)给全局添加属性: 浏览器的全局对象是window,Node的全局对象是global。var声明的变量为全局变量,并且会将该变量添加为全局对象的属性,但是let和const不会。

(4)重复声明: var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的遍历。const和let不允许重复声明变量。

(5)暂时性死区: 在使用let、const命令声明变量之前,该变量都是不可用的。这在语法上,称为暂时性死区。使用var声明的变量不存在暂时性死区。

(6)初始值设置: 在变量声明时,var 和 let 可以不用设置初始值。而const声明变量必须设置初始值。

(7)指针指向: let和const都是ES6新增的用于创建变量的语法。 let创建的变量是可以更改指针指向(可以重新赋值)。但const声明的变量是不允许改变指针的指向。


http://www.kler.cn/news/136708.html

相关文章:

  • 中国建设银行广东省分行珠海市分行营业网点装修工程采购项目市场调研供应商征集公告
  • 前端学习---(5)js基础--3
  • Java 开发——(下篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • 【计网】深入理解网络通信:端口号、Socket编程及编程接口
  • [Python学习日记-54] 软件开发目录设计规范
  • 无人机之低空管控技术
  • elasticsearch 概述
  • 「Verilog学习笔记」输入序列连续的序列检测
  • Mistral 7B 比Llama 2更好的开源大模型 (四)
  • 身份证阅读器和社保卡读卡器Harmony鸿蒙系统ArkTS语言SDK开发包
  • PDF控件Spire.PDF for .NET【转换】演示:自定义宽度、高度将 PDF 转 SVG
  • ubuntu20编译安装pkg-config
  • [一周AI简讯]OpenAI宫斗;微软Bing Chat更名Copilot;Youtube测试音乐AI
  • 从哪些方面分析Linux内核源码
  • 如何实现MATLAB与Simulink的数据交互
  • 07_面向对象高级_内部类
  • 智能电销机器人好做吗?ai机器人有没有用?
  • HEVC参考帧技术
  • SVN 修改版本库地址url路径
  • 运维小技能:centos安装宝塔
  • 生产环境_移动目标轨迹压缩应用和算法处理-Douglas-Peucker轨迹压缩算法
  • 【Django-DRF用法】多年积累md笔记,第3篇:Django-DRF的序列化和反序列化详解
  • 【MATLAB源码-第83期】基于matlab的MIMO中V-BALST结构ZF和MMSE检测算法性能误码率对比。
  • 『亚马逊云科技产品测评』活动征文|开发一个手机官网
  • uniapp相关记录
  • 使用npm发布自己的组件库