引言
在 JavaScript 编程中,表达式(Expressions)和语句(Statements)是构建程序逻辑的基础元素。理解它们的概念、区别和使用方法,对于编写高效、清晰的代码至关重要。本文将详细介绍 JavaScript 中的表达式与语句,并通过丰富的代码示例进行说明。
一、表达式
1. 表达式的定义
表达式是由变量、常量、运算符和函数调用等组成的代码片段,它会计算出一个值。表达式可以是简单的,如一个常量或变量,也可以是复杂的,由多个运算符和操作数组合而成。
2. 常见的表达式类型
2.1 算术表达式
算术表达式用于执行数学运算,例如加法、减法、乘法和除法等。
// 简单的算术表达式
let num1 = 5;
let num2 = 3;
let sum = num1 + num2; // 加法表达式
let difference = num1 - num2; // 减法表达式
let product = num1 * num2; // 乘法表达式
let quotient = num1 / num2; // 除法表达式
console.log(sum);
console.log(difference);
console.log(product);
console.log(quotient);
2.2 字符串表达式
字符串表达式用于处理字符串,如字符串拼接。
let str1 = 'Hello';
let str2 = ' World';
let combinedStr = str1 + str2; // 字符串拼接表达式
console.log(combinedStr);
2.3 逻辑表达式
逻辑表达式用于执行逻辑运算,返回布尔值。常见的逻辑运算符有 &&(逻辑与)、||(逻辑或)和 !(逻辑非)。
let isTrue = true;
let isFalse = false;
let andResult = isTrue && isFalse; // 逻辑与表达式
let orResult = isTrue || isFalse; // 逻辑或表达式
let notResult = !isTrue; // 逻辑非表达式
console.log(andResult);
console.log(orResult);
console.log(notResult);
2.4 比较表达式
比较表达式用于比较两个值的大小或相等性,返回布尔值。常见的比较运算符有 ==(等于)、===(严格等于)、!=(不等于)、!==(严格不等于)、>(大于)、<(小于)、>=(大于等于)和 <=(小于等于)。
let num3 = 10;
let num4 = 5;
let equalResult = num3 == num4; // 等于表达式
let greaterResult = num3 > num4; // 大于表达式
console.log(equalResult);
console.log(greaterResult);
2.5 函数调用表达式
函数调用表达式通过调用函数来计算值。
function add(a, b) {
return a + b;
}
let result = add(2, 3); // 函数调用表达式
console.log(result);
2.6 对象和数组字面量表达式
对象和数组字面量表达式用于创建对象和数组。
let person = { name: 'John', age: 30 }; // 对象字面量表达式
let numbers = [1, 2, 3, 4, 5]; // 数组字面量表达式
console.log(person);
console.log(numbers);
二、语句
1. 语句的定义
语句是 JavaScript 程序中的执行单元,它通常表示一个完整的操作。语句可以包含表达式,但不一定会返回一个值。语句的作用是控制程序的流程、定义变量、执行函数等。
2. 常见的语句类型
2.1 变量声明语句
变量声明语句用于声明变量,并可以为其赋值。
// 使用 var 声明变量
var variable1 = 10;
// 使用 let 声明变量
let variable2 = 'Hello';
// 使用 const 声明常量
const PI = 3.14159;
console.log(variable1);
console.log(variable2);
console.log(PI);
2.2 赋值语句
赋值语句用于将一个值赋给一个变量。
let num5 = 5;
num5 = 10; // 赋值语句
console.log(num5);
2.3 条件语句
条件语句根据条件的真假来决定执行哪段代码。常见的条件语句有 if...else 语句和 switch 语句。
// if...else 语句
let age = 18;
if (age >= 18) {
console.log('成年人');
} else {
console.log('未成年人');
}
// switch 语句
let day = 3;
switch (day) {
case 1:
console.log('星期一');
break;
case 2:
console.log('星期二');
break;
case 3:
console.log('星期三');
break;
default:
console.log('其他');
}
2.4 循环语句
循环语句用于重复执行一段代码。常见的循环语句有 for 循环、while 循环和 do...while 循环。
// for 循环
for (let i = 0; i < 5; i++) {
console.log(i);
}
// while 循环
let j = 0;
while (j < 5) {
console.log(j);
j++;
}
// do...while 循环
let k = 0;
do {
console.log(k);
k++;
} while (k < 5);
2.5 函数声明语句
函数声明语句用于定义函数。
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet('John');
2.6 异常处理语句
异常处理语句用于捕获和处理程序中出现的异常。常见的异常处理语句是 try...catch...finally 语句。
try {
let result = 1 / 0; // 会抛出异常
console.log(result);
} catch (error) {
console.log('发生错误: ' + error.message);
} finally {
console.log('无论是否发生异常,这里的代码都会执行');
}
三、表达式与语句的区别
1. 返回值
表达式会计算出一个值,可以将其赋值给变量或作为函数的参数传递。而语句通常不返回值(除了一些特殊的语句,如 return 语句),主要用于执行操作。
2. 用途
表达式主要用于计算和生成值,而语句用于控制程序的流程和执行特定的操作。
3. 语法结构
表达式可以作为语句的一部分,但语句不能作为表达式使用。例如,一个算术表达式可以作为赋值语句的一部分,但一个赋值语句不能作为另一个表达式的操作数。
四、表达式与语句的结合使用
在实际编程中,表达式和语句通常会结合使用,以实现复杂的程序逻辑。例如,在条件语句中使用比较表达式来判断条件,在循环语句中使用算术表达式来控制循环次数。
// 在 if 语句中使用比较表达式
let num6 = 10;
if (num6 > 5) {
console.log('num6 大于 5');
}
// 在 for 循环中使用算术表达式控制循环次数
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
console.log(i + ' 是偶数');
}
}
总结
JavaScript 中的表达式和语句是构建程序的基础。表达式用于计算值,而语句用于执行操作和控制程序流程。理解它们的概念、区别和使用方法,能够帮助我们编写更加清晰、高效的代码。在实际编程中,要根据具体的需求合理使用表达式和语句,并将它们结合起来,以实现复杂的功能。