变量是引用数字或字符串等值的标识。在使用变量之前,您需要声明它。要声明变量,请使用 var
关键词后跟变量名,例如 var message;
。
var message;
变量名可以是任何有效的标识符。默认情况下,如果您没有为其分配值,则变量的值是 undefined。
变量名遵循这些规则,
- 变量名称区分大小写。这意味着
message
和Message
是不同的变量。 - 变量名只能包含字母、数字、下划线或美元符号,不能包含空格。此外,变量名称必须以字母、下划线
_
或美元符号$
开头。 - 变量名不能使用保留字。
JavaScript 是一种动态类型语言。这意味着您不需要像 Java 或 C# 等其他静态类型语言那样在声明中指定变量的类型。
从 ES6 开始,您可以使用 let
关键词来声明一个变量:
let message;
使用关键词 let
声明变量是一个好习惯。稍后,您将了解关键词 let
和 var
之间的区别。
初始化变量
一旦你声明了一个变量,你就可以用一个值来初始化它。要初始化变量,请指定变量名称,后跟等号 =
和一个值。
由于 JavaScript 是一种动态类型语言,因此您可以将不同类型的值分配给变量。
例如,以下代码声明 message
变量,并使用 "Hello"
字符串对 message
变量进行初始化。
要同时声明和初始化变量,你可以使用语法:
let message = "Hello";
JavaScript 允许您使用单个语句声明多个变量并使用逗号 ,
分隔多个变量声明。
let message = "Hello",
counter = 100;
未定义与未声明的变量
区分未定义和未声明的变量很重要。未定义变量是已声明但变量并未被初始化。相反,未声明的变量是尚未声明的变量。
如果你尝试浏览器的控制台打印一个未声明的变量,例如:
console.log(counter);
控制台将会打印错误消息 ^ReferenceError: counter is not defined。
如果你尝试打印一个已声明变量,在浏览器的控制台,这将会打印 undefined。
let message;
console.log(message); //打印已经声明但未赋值的变量 undefined
console.log(counter); //直接打印一个未声明的变量
常量
常量拥有一个不会改变的值。要声明一个常量,请使用 const 关键词。定义常量时,需要用一个值来初始化它。
const workday = 5;
一旦定义了一个常量,就不能改变它的值。如果尝试将更改常量的值,Javascript 引擎会抛出错误。
workday = 2;
Uncaught TypeError: Assignment to constant variable.
Uncaught TypeError: Assignment to constant variable. 翻译过来就是“未捕获的类型错误,赋值给常量变量”。
结论
使用 let
关键词声明变量。未定义的变量是已声明但未初始化的变量,而未声明的变量是尚未声明的变量。使用 const
关键词定义常量。