1. 变量声明
变量是程序中存储数据的基本单元,变量的声明是给变量分配内存的过程。在JavaScript中,变量可以通过var、let、const三个关键字来声明。
1.1 var关键字声明变量
var是在ES5中定义的关键字,用来声明变量。var声明的变量作用域为整个函数,如果在函数内部不使用var关键字声明变量或者不使用任何关键字,则该变量会被视为全局变量。
// 使用var声明全局变量name
var name = 'Tom';
function showMessage(){
// 使用var声明局部变量message
var message = 'Hello World!';
alert(message);
}
showMessage();
// name作为全局变量可以在函数内部被使用
function showName(){
alert(name);
}
showName();
注意:使用var声明的变量可以声明多次,后续声明的变量会覆盖前面声明的变量。
1.2 let关键字声明变量
ES6中引入了let关键字,用来声明块级作用域变量。
let x = 1;
if (true) {
// let声明的变量只在当前块级作用域中有效
let x = 2;
console.log(x);
}
console.log(x); // 1
注意:使用let声明的变量只能声明一次,不能重复声明。
1.3 const关键字声明常量
const关键字用于声明常量,常量在声明之后不能再被重新赋值。
const PI = 3.14;
PI = 3; // TypeError: Assignment to constant variable.
注意:使用const声明的变量必须初始化,且不能省略。
2. 命名规范
JavaScript变量的命名规范包括以下几点:
2.1 变量名由字母、数字和下划线组成
JavaScript变量名只能包含字母、数字和下划线(_),不能包含其他特殊字符。
// 合法的变量名
var age = 18;
var my_name = 'Tom';
// 非法的变量名
var my-name = 'Tom'; // 错误的示例,不能使用破折号
var my name = 'Tom'; // 错误的示例,不能使用空格
2.2 变量名不能以数字开头
JavaScript变量名不能以数字开头,必须以字母或下划线开头。
// 合法的变量名
var my_age = 18;
var _name = 'Tom';
// 非法的变量名
var 1year = 2022; // 错误的示例,不能以数字开头
2.3 变量名区分大小写
JavaScript是一种区分大小写的语言,变量名中的字母大小写也会影响变量的识别。
// 合法的变量名
var name = 'Tom';
var Name = 'Jerry';
// 这两个变量名是不同的
console.log(name); // Tom
console.log(Name); // Jerry
2.4 变量名要有意义
变量名应该具有可读性和描述性,能够体现变量的作用和含义。
// 不好的变量名
var x = 5; // 不知道变量x代表什么含义
// 好的变量名
var age = 18; // 变量名age能够体现变量的作用和含义
2.5 变量名使用驼峰命名法
JavaScript中通常使用驼峰命名法来命名变量,即将除第一个单词以外的每个单词的首字母大写。
// 驼峰命名法示例
var firstName = 'Tom';
var lastName = 'Jerry';
var myAge = 18;
注意:尽管JavaScript允许在变量名中使用Unicode字符集,但不建议在变量名中使用非ASCII字符,以免造成混淆和误解。
3. 总结
在JavaScript中,变量的声明和命名是编写良好程序的重要部分。 声明变量时,我们可以使用var、let和const关键字来选择要定义的变量类型;在命名变量时,我们应该遵循规范,使用有意义、易于识别和描述的变量名。