1.变量的概念
变量是用来存储信息的容器。
可以将变量视作一个有标签的盒子,你可以在程序中用这个标签来找到这个盒子,并用这个盒子来存取数据。
其中给这个标签的声明就是为这个盒子打上标签的过程,变量的赋值就是将数据放入盒子中。
2.变量的声明
(1)关键字声明
①var关键字
使用var声明的变量,具有函数作用域或全局作用域。
也就是说,如果没有在任何函数或代码块中声明,该变量将具有全局作用域,它可以在代码的任何地方被访问;
如果在一个函数内部声明,它将具有函数作用域,它就只能在该函数内部被访问(类似C语言的全局变量与局部变量);
但同时又可以在同一作用域内重新声明同一个变量。
注:因此不推荐使用var来声明变量,来避免代码命名冲突,重新声明和变量提升。
//var声明的同一个变量重新声明
var b;
var b;
②let关键字
推荐使用let来声明变量,使用let声明的变量,具有块级作用域(只在它们被声明的代码块内有效)。
③const关键字
与使用let声明的变量一样具有块级作用域,但是const用于声明一个只读的常量,该常量的值就不能改变了。
// 使用var声明
var message;
// 使用let声明
let age;
// 使用const声明
const PI;
(2)声明规则
与c语言变量的声明规则大致相同
- 不能使用关键字,如let,var,if,for等
- 只能用字母,下划线,数字和$组成,且数字不能开头
- 字母严格区分大小写,A和a是两个不一样的变量
注:变量的命名可以使用小驼峰命名法,即第一个单词字母小写,后面每个单词字母大写,如:usernameWord,这样便于代码的阅读。
(3)变量类型
JavaScript是一种弱类型语言,也称为动态类型语言,不需要在声明变量时指定其变量的数据类型;
JavaScript变量的数据类型是由变量的值决定的,意味着变量的类型在运行时可以改变。
1.字符串(String):字符和字符串
2.数字(Number):整数和浮点型
3.布尔值(Boolean):用于逻辑运算,值为true或false
4.空值(Null):表示空值或者不存在,值为null
5.未定义(Undefined):未定义类型,值为underfined
6.对象(Object)
Function(函数)
示例:function sayHello() { console.log("Hello!"); }
Array(数组):
数组是特殊的对象,用于存储有序的数据集合。
示例:let numbers = [1, 2, 3, 4, 5];
Date(日期):
Date对象用于处理日期和时间。
示例:let today = new Date();
RegExp(正则表达式):
RegExp对象用于处理正则表达式。
示例:let regex = /hello/;
3.变量的初始化
变量的初始化:变量声明+初始化(赋值)
赋值与c语言一致,将赋值符号(=)右侧的值赋给左边的变量。
// 使用var声明变量的初始化
var message = "Hello, World!";
// 使用let声明变量的初始化
let age = 18;
// 使用const声明变量的初始化
const PI = 3.1415926;
如果不进行初始化,变量的值会默认为underfined
//默认初始化,值为underfined
let age;
4.实例