JavaScript 表达式与语句:编程基础

193 阅读5分钟

引言

在 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 中的表达式和语句是构建程序的基础。表达式用于计算值,而语句用于执行操作和控制程序流程。理解它们的概念、区别和使用方法,能够帮助我们编写更加清晰、高效的代码。在实际编程中,要根据具体的需求合理使用表达式和语句,并将它们结合起来,以实现复杂的功能。