标识符与关键字

1. 标识符

标识符是用来命名变量、函数、对象、类等的名称。它遵循一定的命名规则。

1.1 变量名作为标识符

变量名是最常见的标识符之一,用于存储和操作数据。


let myVariable = 10;  // "myVariable" 是标识符,用于命名变量
    

在上面的例子中,myVariable 是用来命名变量的标识符,表示一个可以存储数值 10 的变量。

1.2 函数名作为标识符

函数名作为标识符,用于定义和调用特定的操作或逻辑。


function greet() {  // "greet" 是标识符,用于命名函数
    alert("Hello!");
}
greet();  // 调用函数 greet
    

在这里,greet 是一个标识符,用于表示定义的函数。函数名标识符帮助我们调用预定义的操作。

1.3 参数名作为标识符

函数的参数名也是标识符,用来表示函数执行时的输入。


function add(a, b) {  // "a" 和 "b" 是标识符,用于表示函数参数
    return a + b;
}
add(2, 3);  // 调用函数时传递参数 2 和 3
    

在这个例子中,ab 是函数参数的标识符,它们用来存储函数执行时传入的值。

1.4 对象名与属性名作为标识符

对象名和属性名都是标识符。对象名用于引用整个对象,属性名则用于访问对象的特定值。


let person = {          // "person" 是对象的标识符
    name: "Alice",      // "name" 是属性的标识符
    age: 30            // "age" 是属性的标识符
};
alert(person.name);  // 访问对象属性 "name"
    

在这个例子中,person 是一个对象标识符,nameage 是对象属性的标识符。

1.5 类名作为标识符

类名作为标识符,用于定义对象的模板。


class Car {  // "Car" 是标识符,用于命名类
    constructor(brand) {
        this.brand = brand;
    }
}
let myCar = new Car("Toyota");  // 实例化一个 Car 对象
    

在这里,Car 是一个类的标识符,它用于定义一个类的模板。

2. 关键字

关键字是 JavaScript 语言中的保留字,具有特定的含义和用途,不能作为标识符使用。

常见关键字及用途

2.1 控制结构关键字

2.1.1 if

用于条件判断,根据条件的真假来执行不同的代码块。


let x = 10;
if (x > 5) {  // 如果 x 大于 5,执行下面的代码块
    alert("x 大于 5");
}
    

2.1.2 else

if 配合使用,当 if 条件为假时执行 else 代码块。


let x = 2;
if (x > 5) {
    alert("x 大于 5");
} else {  // 如果 x 不大于 5,执行 else
    alert("x 小于或等于 5");
}
    

2.1.3 for

用于循环执行代码块,适合已知循环次数的场景。


for (let i = 0; i < 5; i++) {  // 循环 5 次
    alert(i);  // 输出 0 到 4
}
    

2.1.4 while

当条件为真时,重复执行代码块。


let i = 0;
while (i < 5) {  // 当 i 小于 5 时执行
    alert(i);  // 输出 0 到 4
    i++;
}
    

2.1.5 switch

根据不同的值执行不同的代码块。


let day = 2;
switch (day) {
    case 1:
        alert("今天是星期一");
        break;
    case 2:
        alert("今天是星期二");
        break;
    default:
        alert("不是星期一或星期二");
}
    

2.2 变量声明关键字

2.2.1 var

用于声明变量(有函数作用域)。


var name = "Alice";
alert(name);  // 输出 "Alice"
    

2.2.2 let

用于声明变量(有块作用域)。


let age = 25;
if (age > 20) {
    let isAdult = true;
    alert(isAdult);  // 输出 true
}
    

2.2.3 const

用于声明常量,不能被重新赋值。


const pi = 3.14159;
alert(pi);  // 输出 3.14159
    

2.3 函数与类关键字

2.3.1 function

用于定义一个函数。


function greet() {
    alert("Hello!");
}
greet();  // 调用函数
    

2.3.2 class

用于定义类(ES6+ 引入)。


class Car {
    constructor(brand) {
        this.brand = brand;
    }
}
let myCar = new Car("Toyota");
alert(myCar.brand);  // 输出 "Toyota"
    

2.4 异常处理关键字

2.4.1 try

用于尝试执行代码,如果有异常则进入 catch 块。


try {
    let result = 10 / 0;  // 这不会报错,但可以放在 try 中监控
} catch (error) {
    alert("捕获到错误");
}
    

2.4.2 catch

用于捕获 try 块中的异常。


try {
    let result = someUndefinedFunction();  // 这里会抛出错误
} catch (error) {
    alert("捕获到错误: " + error.message);  // 捕获并显示错误
}
    

2.4.3 throw

用于手动抛出错误。


if (!name) {
    throw new Error("名字不能为空");  // 抛出错误
}
    

2.5 对象操作关键字

2.5.1 this

用于引用当前对象。


let person = {
    name: "Alice",
    greet: function() {
        alert("Hello, " + this.name);
    }
};
person.greet();  // 输出 "Hello, Alice"
    

2.5.2 new

用于创建对象实例。


function Car(brand) {
    this.brand = brand;
}
let myCar = new Car("Toyota");
alert(myCar.brand);  // 输出 "Toyota"
    

2.5.3 delete

用于删除对象的属性。


let person = {
    name: "Alice",
    age: 25
};
delete person.age;  // 删除 age 属性
alert(person.age);  // 输出 undefined
    

2.6 其他常见关键字

2.6.1 null

表示空值,即没有任何对象。


let emptyValue = null;
alert(emptyValue);  // 输出 null
    

2.6.2 undefined

表示未定义的值。


let notDefined;
alert(notDefined);  // 输出 undefined
    

2.6.3 true 和 false

布尔值,用于表示真假。


let isAdult = true;
alert(isAdult);  // 输出 true