编程笔记 html5&css&js 075 Javascript 常量和变量

简介: 编程笔记 html5&css&js 075 Javascript 常量和变量


在JavaScript中,变量和常量是用来存储数据的占位符。它们的主要区别在于可变性:变量的值可以改变,而常量一旦被声明后其值就不能再更改。

一、JavaScript 变量

定义:

在JavaScript中,使用varletconst关键字来声明变量。不过,从ES6(ECMAScript 2015)开始,推荐使用letconst而不是var,因为它们提供了更严格的块级作用域控制。

  • 使用var声明变量:
// ES5及以下版本
var myVariable = 'initial value'; // 可以重新赋值
myVariable = 'new value';
  • 使用let声明变量:
// ES6及以上版本
let anotherVariable = 'can also change';
anotherVariable = 'updated value';

二、JavaScript 常量

定义:

使用const关键字声明常量,它的值不能被重新赋值。

// ES6及以上版本
const PI = 3.14159; // 正确,初始化了一个常量
PI = 3; // 错误,不能修改常量的值
// 注意:虽然常量的值不可更改,但如果它是一个对象或者数组,那么对象或数组内部的属性或元素是可以更改的。
const obj = { a: 1 };
obj.a = 2; // 这是允许的,因为虽然obj本身不能指向另一个不同的对象,但其内部属性可以更改

三、示例:

// 变量示例
let count = 1;
console.log(count); // 输出:1
count = 2;
console.log(count); // 输出:2
// 常量示例
const name = "Alice";
console.log(name); // 输出:"Alice"
name = "Bob"; // 这将抛出错误,因为尝试修改一个常量的值是不允许的
// 对象作为常量内容可变的例子
const person = { age: 30 };
person.age = 31;
console.log(person); // 输出:{ age: 31 } (年龄已成功修改)

小结:

  1. 变量
  • 变量名可以根据需要多次赋值,如varlet关键字声明的变量。
  • var变量的作用域可能受函数作用域或全局作用域影响(存在变量提升现象),而letconst变量具有块级作用域。
  1. 常量
  • 常量在声明时必须初始化,并且之后不能再赋予新的值,通过const关键字声明。
  • 虽然常量的“引用”不可变,但对于复杂类型的数据(如对象和数组),它们的内容是可以修改的。
相关文章
|
11天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
3天前
|
前端开发 JavaScript 索引
CSS常见用法 以及JS基础语法
CSS常见用法 以及JS基础语法
10 0
|
5天前
|
JavaScript 前端开发
js和css以及js制作弹窗
js和css以及js制作弹窗
11 1
|
5天前
|
存储 JavaScript 前端开发
js的变量以及运算
js的变量以及运算
11 1
|
5天前
|
JavaScript 前端开发
关于js变量
关于js变量
15 1
|
5天前
|
JavaScript 前端开发
js的变量
js的变量
12 2
|
9天前
|
JSON JavaScript 前端开发
使用JavaScript和XLSX.js将数据导出为Excel文件
使用JavaScript和XLSX.js将数据导出为Excel文件
21 0
|
11天前
|
JavaScript 前端开发 开发工具
【JavaScript 技术专栏】Node.js 基础与实战
【4月更文挑战第30天】本文介绍了Node.js的基础及应用,包括事件驱动的非阻塞I/O、单线程模型和模块系统。内容涵盖Node.js的安装配置、核心模块(如http、fs、path)及实战应用,如Web服务器、文件操作和实时通信。文章还讨论了Node.js的优劣势、与其他技术的结合,并通过案例分析展示项目实施流程。总结来说,Node.js是高效后端开发工具,适合构建高并发应用,其广阔的应用前景值得开发者探索。
|
12天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
12天前
|
JavaScript 前端开发
JavaScript DOM 文档对象模型(获取、改变html元素)
JavaScript DOM 文档对象模型(获取、改变html元素)