JavaScript变量名是用于存储数据的标识符,在JavaScript中,变量名可以包含字母、数字、美元符号($)和下划线(_),变量名的首字符不能是数字,也不能是保留字(如if、while等),变量名区分大小写,因此在JavaScript中,变量名"myVariable"和"myvariable"是不同的。
1、声明变量
在JavaScript中,可以使用var
、let
或const
关键字来声明变量,这些关键字之间有一些区别:
- var
:使用var
声明的变量具有函数作用域,即它们在声明它们的函数内部可见,使用var
声明的变量会被提升到它们所在的作用域顶部,这意味着,如果在声明之前使用变量,JavaScript不会报错,而是会创建一个全局变量(如果在其外部没有找到该变量)。
function example() { var a = 1; // 使用var声明的变量a } console.log(a); // 输出1,因为a被提升到了函数作用域顶部
- let
:使用let
声明的变量具有块级作用域,即它们只在声明它们的代码块内可见,与var
不同,使用let
声明的变量不会被提升到它们所在的作用域顶部,在使用let
声明的变量之前引用它会导致一个错误。
function example() { let b = 2; // 使用let声明的变量b } console.log(b); // 报错,因为b没有被提升到函数作用域顶部
- const
:使用const
声明的变量具有块级作用域,且它们是常量,即它们的值不能被修改,与let
类似,使用const
声明的变量不会被提升到它们所在的作用域顶部。
function example() { const c = 3; // 使用const声明的常量c } console.log(c); // 报错,因为c没有被提升到函数作用域顶部
2、变量赋值
在JavaScript中,可以使用赋值运算符(=)为变量赋值,赋值运算符将右侧的值赋给左侧的变量。
var x = 10; // 将10赋值给变量x let y = "Hello"; // 将字符串"Hello"赋值给变量y const z = true; // 将布尔值true赋值给常量z
3、数据类型
JavaScript有多种数据类型,包括基本数据类型和引用数据类型,基本数据类型包括:
- Number
:表示整数和小数的数字,42、3.14。
- String
:表示文本的字符序列。"Hello"、'World'。
- Boolean
:表示真或假的值,true、false。
- Null
:表示空或无的值,null。
- Undefined
:表示未定义的值,undefined。
- Symbol
:表示唯一的标识符,Symbol("foo")。
引用数据类型包括:
- Object
:表示对象的值,对象是一组属性和方法的集合。{name: "Alice", age: 30}。
- Array
:表示数组的值,数组是一组有序的元素集合,[1, 2, 3]。
- Function
:表示函数的值,函数是一段可执行的代码,function() { console.log("Hello"); }。
- Date
:表示日期和时间的值,new Date()。
- RegExp
:表示正则表达式的值。/abc/g。
- Error
:表示错误的值,new Error("Something went wrong")。
- Promise
:表示异步操作的结果值,new Promise((resolve, reject) => { resolve("Success"); })。
- Map
:表示键值对集合的值,new Map([["key", "value"]])。
- Set
:表示唯一值集合的值,new Set([1, 2, 3])。
4、操作变量
在JavaScript中,可以使用各种操作符来操作变量,包括算术运算符、比较运算符、逻辑运算符、位运算符等,以下是一些示例:
- 算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模),let a = 10; let b = 5; let c = a + b; // c的值为15。
- 比较运算符:==(等于)、!=(不等于)、>(大于)、<、<=(小于等于),let x = 10; let y = 20; console.log(x < y); // 输出true。
- 逻辑运算符:&&(与)、||(或)、!(非),let p = true; let q = false; console.log(p && q); // 输出false。
- 位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移),let a = 5; let b = 3; let c = a & b; // c的值为1。
- 赋值运算符:=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(取模等于),let x = 10; x += 5; // x的值为15。